import type { AgentManager } from "./agent/agent-manager.js";
import type { AgentSessionConfig } from "./agent/agent-sdk-types.js";
import type { AgentStorage, StoredAgentRecord } from "./agent/agent-storage.js";
type LoggerLike = {
    child(bindings: Record<string, unknown>): LoggerLike;
    error(...args: any[]): void;
};
type AgentStoragePersistence = Pick<AgentStorage, "applySnapshot" | "list">;
type AgentManagerStateSource = Pick<AgentManager, "subscribe">;
/**
 * Attach AgentStorage persistence to an AgentManager instance so every
 * agent_state snapshot is flushed to disk.
 */
export declare function attachAgentStoragePersistence(logger: LoggerLike, agentManager: AgentManagerStateSource, storage: AgentStoragePersistence): () => void;
export declare function buildConfigOverrides(record: StoredAgentRecord): Partial<AgentSessionConfig>;
export declare function buildSessionConfig(record: StoredAgentRecord): AgentSessionConfig;
export declare function extractTimestamps(record: StoredAgentRecord): {
    createdAt: Date;
    updatedAt: Date;
    lastUserMessageAt: Date | null;
    labels?: Record<string, string>;
};
export {};
//# sourceMappingURL=persistence-hooks.d.ts.map