import hl = require("../parser/highLevelAST"); import ll = require("../parser/lowLevelAST"); import def = require("raml-definition-system"); export declare type ITypeDefinition = hl.ITypeDefinition; export declare var declRoot: (h: hl.IHighLevelNode) => hl.IHighLevelNode; export declare function globalDeclarations(h: hl.IHighLevelNode): hl.IHighLevelNode[]; export declare function findDeclarations(h: hl.IHighLevelNode, visitedUnits?: { [key: string]: boolean; }, rs?: hl.IHighLevelNode[]): hl.IHighLevelNode[]; export declare function deepFindNode(n: hl.IParseResult, offset: number, end: number, goToOtherUnits?: boolean, returnAttrs?: boolean): hl.IParseResult; export declare function extractName(cleaned: string, offset: number): string; export interface FindUsagesResult { node: hl.IHighLevelNode; results: hl.IParseResult[]; } export declare function findUsages(unit: ll.ICompilationUnit, offset: number): FindUsagesResult; export declare function referenceTargets(p0: hl.IProperty, c: hl.IHighLevelNode): hl.IHighLevelNode[]; export declare function enumValues(p: def.Property, c: hl.IHighLevelNode): string[]; export declare function findDeclarationByNode(node: hl.IParseResult, nodePart?: LocationKind): ll.ICompilationUnit | hl.IParseResult; export declare function findDeclaration(unit: ll.ICompilationUnit, offset: number, nodePart?: LocationKind): ll.ICompilationUnit | hl.IParseResult; export declare function findExampleContentType(node: hl.IParseResult): hl.INodeDefinition; export declare function parseDocumentationContent(attribute: hl.IAttribute, type: hl.INodeDefinition): hl.IHighLevelNode; export declare function parseStructuredExample(exampleNode: hl.IHighLevelNode, type: hl.INodeDefinition): hl.IHighLevelNode; export declare function isExampleNode(node: hl.IHighLevelNode): boolean; export declare function isExampleNodeContent(node: hl.IAttribute): boolean; export declare function determineCompletionKind(text: string, offset: number): LocationKind; export declare enum LocationKind { VALUE_COMPLETION = 0, KEY_COMPLETION = 1, PATH_COMPLETION = 2, DIRECTIVE_COMPLETION = 3, VERSION_COMPLETION = 4, ANNOTATION_COMPLETION = 5, SEQUENCE_KEY_COPLETION = 6, INCOMMENT = 7 } export declare function resolveReference(point: ll.ILowLevelASTNode, path: string): ll.ILowLevelASTNode; /** * return all sub types of given type visible from parent node * @param range * @param parentNode * @returns ITypeDefinition[] */ export declare function subTypesWithLocals(range: hl.ITypeDefinition, parentNode: hl.IHighLevelNode): ITypeDefinition[]; export declare function subTypesWithName(tname: string, parentNode: hl.IHighLevelNode, backup: { [name: string]: hl.ITypeDefinition; }): hl.ITypeDefinition; export declare function schemasWithName(tname: string, parentNode: hl.IHighLevelNode, backup: { [name: string]: hl.ITypeDefinition; }): hl.ITypeDefinition; export declare function nodesDeclaringType(range: hl.ITypeDefinition, n: hl.IHighLevelNode): hl.IHighLevelNode[]; export declare function findAllSubTypes(p: hl.IProperty, n: hl.IHighLevelNode): hl.ITypeDefinition[]; export declare function allChildren(node: hl.IHighLevelNode): hl.IParseResult[]; export declare function refFinder(root: hl.IHighLevelNode, node: hl.IHighLevelNode, result: hl.IParseResult[]): void;