import { CompletionItem } from 'vscode-languageserver/node'; import { AddonMeta, CompletionFunctionParams } from './../../utils/addon-api'; import ASTPath from '../../glimmer-utils'; import Server from '../../server'; import { Project } from '../../project'; import { ASTv1 } from '@glimmer/syntax'; import { IRegistry } from '../../utils/registry-api'; /** * Generates a map of completion label (file name) to array of potential namespaced * paths. * @param addonsMeta addons meta array * @param server Server * @param focusPath current focus path * @returns { [key: string]: string[] } */ export declare function generateNamespacedComponentsHashMap(addonsMeta: Array, server: Server, isAngleComponent: boolean): { [key: string]: string[]; }; export default class TemplateCompletionProvider { get registry(): IRegistry; project: Project; server: Server; hasNamespaceSupport: boolean; meta: { projectAddonsInfoInitialized: boolean; helpersRegistryInitialized: boolean; modifiersRegistryInitialized: boolean; componentsRegistryInitialized: boolean; podComponentsRegistryInitialized: boolean; routesRegistryInitialized: boolean; }; enableRegistryCache(value: keyof typeof TemplateCompletionProvider.prototype['meta']): void; initRegistry(_: Server, project: Project): Promise; getAllAngleBracketComponents(root: string): Promise<(CompletionItem & { label: string; })[]>; templateContextLookup(rawCurrentFilePath: string, templateContent: string): Promise; getLocalPathExpressionCandidates(uri: string, originalText: string): Promise; getMustachePathCandidates(root: string): Promise; getBlockPathCandidates(root: string): Promise; getSubExpressionPathCandidates(): Promise<{ label: string; data: { files: string[]; }; kind: 3; detail: string; }[]>; getExtendedScopedValues(focusPath: ASTPath): CompletionItem[]; getScopedValues(focusPath: ASTPath, withMeta?: boolean): CompletionItem[]; getAllModifiers(root: string): Promise<(CompletionItem | { label: string; data: { files: string[]; }; kind: 3; detail: string; })[]>; getParentComponentYields(node: ASTv1.ElementNode): Promise<{ label: string; kind: 6; detail: string; }[]>; suggestEventNames(rawTagName: string): string[]; onComplete(root: string, params: CompletionFunctionParams): Promise; }