import { Repository } from 'typeorm';
import { ActionHandler } from './action-handler.interface';
import { ActionExecutionResult, PlanExecutionContext } from '../llm-orchestration.interfaces';
import { SessionInput } from '../../core-entities';
import { HistoryCompressionService } from '../history-compression.service';
import { LlmContent } from '../../llm-provider/llm-provider.interface';
export declare const DEFAULT_CHARS_PER_TOKEN = 4;
export declare const CONTEXT_TARGET_TOKENS = 50000;
export declare const CONTEXT_FLOOR_TOKENS = 30000;
export declare function computeTurnCharSize(turn: LlmContent): number;
export declare function buildHistory(inputs: SessionInput[]): {
    history: LlmContent[];
    turnToInputIndex: number[];
};
export declare class GetMessagesHandler implements ActionHandler {
    private readonly sessionInputsRepository;
    private readonly historyCompressionService;
    readonly toolName = "get_messages";
    constructor(sessionInputsRepository: Repository<SessionInput>, historyCompressionService: HistoryCompressionService);
    getMetadata(): {
        name: string;
        description: string;
        arguments: any[];
    };
    getDefinition(): string;
    execute(_args: Record<string, any>, context: PlanExecutionContext): Promise<ActionExecutionResult>;
}
