--- /dev/null
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.yangtools.yang.parser.builder.api;
+
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
+import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
+
+public interface UnknownSchemaNodeBuilder extends SchemaNodeBuilder, DocumentedNodeBuilder {
+
+ @Override
+ SchemaPath getPath();
+
+ /**
+ * Returns true if node was added via uses statement
+ *
+ * @return true if node was added via uses statement
+ */
+ boolean isAddedByUses();
+
+ /**
+ * Sets flag if node was introduced by uses statement
+ *
+ * @param addedByUses true if node was introduced by uses, false otherwise
+ */
+ void setAddedByUses(boolean addedByUses);
+
+ /**
+ *
+ * Returns QName associated with this unknown node.
+ *
+ * @return QName associated with this unknown node.
+ */
+ QName getNodeType();
+
+ /**
+ * Returns string representation of argument associated with this unknown node.
+ *
+ * @return string representation of argument associated with this unknown node.
+ */
+ String getNodeParameter();
+
+ /**
+ * Sets string representation of argument associated with this unknown node.
+ * @param nodeParameter string representation of argument associated with this unknown node.
+ */
+ void setNodeParameter(String nodeParameter);
+
+ /**
+ * Returns extension definition, which declares this unknown node
+ * @return extension definition, which declares this unknown node
+ */
+ ExtensionDefinition getExtensionDefinition();
+
+ /**
+ * Sets extension definition, which declares this unknown node
+ * @param extensionDefinition extension definition, which declares this unknown node
+ */
+ void setExtensionDefinition(ExtensionDefinition extensionDefinition);
+
+ /**
+ * Returns builder for extension, which declares this unknown node.
+ *
+ * @return builder for extension, which declares this unknown node.
+ */
+ ExtensionBuilder getExtensionBuilder();
+
+ /**
+ * Sets extension builder, which declares this unknown node
+ * @param extensionBuilder extension definition, which declares this unknown node
+ */
+ void setExtensionBuilder(ExtensionBuilder extension);
+
+ @Override
+ UnknownSchemaNode build();
+
+ /**
+ * Sets node type associated with this unknown schema node
+ *
+ * @param qName node type associated with this unknown schema node
+ */
+ void setNodeType(QName qName);
+
+}
\ No newline at end of file