export declare const enum SemanticTokensProviderStylingConstants { NO_STYLING = 2147483647 } export interface SemanticTokensLegend { readonly tokenTypes: string[]; readonly tokenModifiers: string[]; } export interface SemanticTokens { /** * The result id of the tokens. * * This is the id that will be passed to `DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits` (if implemented). */ readonly resultId?: string; readonly data: Uint32Array; } interface SemanticTokensProviderStyling { getMetadata(tokenTypeIndex: number, tokenModifierSet: number, languageId: string): number; warnInvalidLengthSemanticTokens(lineNumber: number, startCharacter: number): void; warnOverlappingSemanticTokens(lineNumber: number, startCharacter: number): void; } type SparseMultilineTokens = [number, Uint32Array]; /** * https://github.com/microsoft/vscode/blob/main/src/vs/editor/common/services/semanticTokensProviderStyling.ts#L142 */ export declare function toMultilineTokens2(tokens: SemanticTokens, styling: SemanticTokensProviderStyling, languageId: string): SparseMultilineTokens[]; export declare class TypstSemaTokenStyling implements SemanticTokensProviderStyling { private enableWarnings; static _legend: SemanticTokensLegend; private _hashTable; constructor(enableWarnings: boolean); resolveTokenStyle(tokenType: string, tokenModifiers: string[], languageId: string): number; getMetadata(tokenTypeIndex: number, tokenModifierSet: number, languageId: string): number; warnInvalidLengthSemanticTokens(lineNumber: number, startCharacter: number): void; warnOverlappingSemanticTokens(lineNumber: number, startCharacter: number): void; } declare enum HljsScopes { keyword = 0, built_in = 1, type = 2, literal = 3, number = 4, operator = 5, comment = 6, punctuation = 7, property = 8, string = 9, regexp = 10, 'char.escape' = 11, subst = 12, symbol = 13, 'title.function' = 14, 'title.class' = 15, variable = 16, 'variable.language' = 17, 'variable.constant' = 18, 'title' = 19, 'title.class.inherited' = 20, 'title.function.invoke' = 21, params = 22, doctag = 23, meta = 24, 'meta.prompt' = 25, 'meta keyword' = 26, 'meta string' = 27, section = 28, tag = 29, name = 30, attr = 31, attribute = 32, bullet = 33, code = 34, emphasis = 35, strong = 36, formula = 37, link = 38, quote = 39, 'selector-tag' = 40, 'selector-id' = 41, 'selector-class' = 42, 'selector-attr' = 43, 'selector-pseudo' = 44, 'template-tag' = 45, 'template-variable' = 46, addition = 47, deletion = 48, 'strong.emphasis' = 49 } export declare class TypstSemaTokenHljsStyling extends TypstSemaTokenStyling { static scopes: string[]; static typeToScope: Map; constructor(enableWarnings: boolean); resolveTokenStyle(tokenType: string, tokenModifiers: string[], languageId: string): number; getScope(metadata: number): string | string[]; } export {}; //# sourceMappingURL=semantic_tokens.d.mts.map