import { CancellationToken, CompletionItemKind, SymbolKind } from 'vscode-languageserver'; import { AnalyzerFileInfo } from '../analyzer/analyzerFileInfo'; import { Range } from '../common/textRange'; import { Uri } from '../common/uri/uri'; import { ParseFileResults } from '../parser/parser'; export interface IndexOptions { includeAliases?: boolean; } export interface IndexAliasData { readonly originalName: string; readonly moduleUri: Uri; readonly kind: SymbolKind; readonly itemKind?: CompletionItemKind | undefined; } export declare const enum IndexSymbolVisibilityFlags { None = 0, ExternallyVisible = 1, InDunderAll = 2, RedundantAlias = 4 } export declare function isIndexSymbolVisibleFlagSet(data: IndexSymbolData, flag: IndexSymbolVisibilityFlags): boolean; export interface IndexSymbolData { readonly name: string; readonly visibilityFlags: IndexSymbolVisibilityFlags; readonly kind: SymbolKind; readonly itemKind?: CompletionItemKind | undefined; readonly alias?: IndexAliasData | undefined; readonly range?: Range | undefined; readonly selectionRange?: Range | undefined; readonly children?: IndexSymbolData[] | undefined; } export declare class SymbolIndexer { static indexSymbols(fileInfo: AnalyzerFileInfo, parseResults: ParseFileResults, indexOptions: IndexOptions, token: CancellationToken): IndexSymbolData[]; }