import { TOKEN_ENCODINGS, type TokenEncoding } from './tokenEncodings.js';
export { TOKEN_ENCODINGS, type TokenEncoding };
interface CountTokensOptions {
    disallowedSpecial?: Set<string>;
}
type CountTokensFn = (text: string, options?: CountTokensOptions) => number;
type LoadEncodingFn = (encodingName: TokenEncoding) => Promise<CountTokensFn>;
export declare class TokenCounter {
    private countFn;
    private readonly encodingName;
    private readonly deps;
    constructor(encodingName: TokenEncoding, deps?: {
        loadEncoding: LoadEncodingFn;
    });
    init(): Promise<void>;
    countTokens(content: string, filePath?: string): number;
    free(): void;
}
