import type { BaseMessage } from '@langchain/core/messages';
export type EncodingName = 'o200k_base' | 'claude';
export declare function encodingForModel(model: string): EncodingName;
export declare function getTokenCountForMessage(message: BaseMessage, getTokenCount: (text: string) => number): number;
/**
 * Creates a token counter function using the specified encoding.
 * Lazily loads the encoding data on first use via dynamic import.
 */
export declare const createTokenCounter: (encoding?: EncodingName) => Promise<(message: BaseMessage) => number>;
/** Utility to manage the token encoder lifecycle explicitly. */
export declare const TokenEncoderManager: {
    initialize(): Promise<void>;
    reset(): void;
    isInitialized(): boolean;
};
