import { ObjectiveStateSnapshot } from './objective-state.js';
import { L as LcmMessagePartInput, M as MessagePartSourceFormat } from './index-1qIcnbG1.js';

interface DerivedObjectiveStateResult {
    snapshots: ObjectiveStateSnapshot[];
    filePaths: string[];
}
interface ObservedMessageWithParts {
    role?: string;
    content?: string;
    parts?: LcmMessagePartInput[] | null;
    rawContent?: unknown;
    sourceFormat?: MessagePartSourceFormat;
}
declare function deriveObjectiveStateSnapshotsFromAgentMessages(options: {
    sessionKey: string;
    recordedAt: string;
    messages: Array<Record<string, unknown>>;
}): ObjectiveStateSnapshot[];
declare function deriveObjectiveStateSnapshotsFromObservedMessages(options: {
    sessionKey: string;
    recordedAt: string;
    messages: readonly ObservedMessageWithParts[];
}): ObjectiveStateSnapshot[];
declare function recordObjectiveStateSnapshotsFromAgentMessages(options: {
    memoryDir: string;
    objectiveStateStoreDir?: string;
    objectiveStateMemoryEnabled: boolean;
    objectiveStateSnapshotWritesEnabled: boolean;
    sessionKey: string;
    recordedAt: string;
    messages: Array<Record<string, unknown>>;
}): Promise<DerivedObjectiveStateResult>;
declare function recordObjectiveStateSnapshotsFromObservedMessages(options: {
    memoryDir: string;
    objectiveStateStoreDir?: string;
    objectiveStateMemoryEnabled: boolean;
    objectiveStateSnapshotWritesEnabled: boolean;
    sessionKey: string;
    recordedAt: string;
    messages: readonly ObservedMessageWithParts[];
}): Promise<DerivedObjectiveStateResult>;

export { deriveObjectiveStateSnapshotsFromAgentMessages, deriveObjectiveStateSnapshotsFromObservedMessages, recordObjectiveStateSnapshotsFromAgentMessages, recordObjectiveStateSnapshotsFromObservedMessages };
