import type { ModelMessage } from "ai";
export interface HistoryViewProjectionInput {
    readonly messages: readonly ModelMessage[];
    readonly state: Readonly<Record<string, unknown>> | undefined;
}
export type HistoryViewProjector = (input: HistoryViewProjectionInput) => readonly ModelMessage[];
export interface PreparedHistoryView {
    readonly messages: readonly ModelMessage[];
    readonly sourceMessages: readonly ModelMessage[];
    readonly sourceState: Readonly<Record<string, unknown>> | undefined;
}
export declare const identityHistoryViewProjector: HistoryViewProjector;
export declare function createHistoryViewPreparer(input?: {
    readonly previous?: PreparedHistoryView;
    readonly projector?: HistoryViewProjector;
}): (messages: readonly ModelMessage[], state: Readonly<Record<string, unknown>> | undefined) => PreparedHistoryView;
export declare function prepareHistoryView(input: {
    readonly messages: readonly ModelMessage[];
    readonly previous?: PreparedHistoryView;
    readonly projector?: HistoryViewProjector;
    readonly state?: Readonly<Record<string, unknown>>;
}): PreparedHistoryView;
