import { ILanguageIdCodec } from '../languages.js'; import { LineTokens } from '../tokens/lineTokens.js'; import { StandardTokenType } from '../encodedTokenAttributes.js'; import { TextModel } from './textModel.js'; import { IModelContentChangedEvent } from '../textModelEvents.js'; import { AbstractTokens } from './tokens.js'; import { ITreeSitterTokenizationStoreService } from './treeSitterTokenStoreService.js'; export declare class TreeSitterTokens extends AbstractTokens { private readonly _tokenStore; private _tokenizationSupport; private _lastLanguageId; private readonly _tokensChangedListener; constructor(languageIdCodec: ILanguageIdCodec, textModel: TextModel, languageId: () => string, _tokenStore: ITreeSitterTokenizationStoreService); private _initialize; getLineTokens(lineNumber: number): LineTokens; resetTokenization(fireTokenChangeEvent?: boolean): void; handleDidChangeAttached(): void; handleDidChangeContent(e: IModelContentChangedEvent): void; forceTokenization(lineNumber: number): void; hasAccurateTokensForLine(lineNumber: number): boolean; isCheapToTokenize(lineNumber: number): boolean; getTokenTypeIfInsertingCharacter(lineNumber: number, column: number, character: string): StandardTokenType; tokenizeLinesAt(lineNumber: number, lines: string[]): LineTokens[] | null; get hasTokens(): boolean; }