interface Marks { since?: string; deprecated?: string; removed?: string; } interface PreprocessorToken { token: string; type: "directiveName" | "operator" | "replacement" | "operatorOutsideDirective"; since?: string; link: string; } interface IndexBase { type: Type; name: string; link: string; marks: Marks; } interface SymbolIndex extends IndexBase<"symbol"> { symbolType: "macro" | "functionLikeMacro" | "function" | "template" | "functionTemplate" | "namespace" | "other"; note?: string; } interface HeaderIndex extends IndexBase<"header"> { description: string; } interface KeywordIndex extends IndexBase<"keyword"> { canBeUsedAsIdentifier: boolean; } interface AttributeIndex extends IndexBase<"attribute"> { namespace: string; } interface PreprocessorTokenIndex extends IndexBase<"preprocessorToken"> { tokenType: PreprocessorToken["type"]; } declare type DetailedSymbolType = "concept" | "class" | "classTemplate" | "classTemplateSpecialization" | "typeAlias" | "typeAliasTemplate" | "function" | "functionTemplate" | "enumeration" | "enumerator" | "macro" | "functionLikeMacro" | "constant" | "niebloid" | "object" | "variableTemplate" | "namespace" | "other"; interface DetailedSymbolIndex extends IndexBase<"symbol"> { symbolType: DetailedSymbolType; note?: string; description?: string; } declare type Index = (Detailed extends true ? DetailedSymbolIndex : SymbolIndex) | HeaderIndex | KeywordIndex | AttributeIndex | PreprocessorTokenIndex; declare type Options = { categories?: { symbols?: boolean; headers?: boolean; keywords?: boolean; stdAttributes?: boolean; predefinedMacros?: boolean; preprocessorTokens?: boolean; }; writeToFile?: string | number | false; detailedSymbols?: Detailed; }; declare function get(options?: Options): Promise[]>; export { AttributeIndex, DetailedSymbolIndex, DetailedSymbolType, HeaderIndex, Index, KeywordIndex, Marks, PreprocessorToken, PreprocessorTokenIndex, SymbolIndex, get as default };