/**
 * @module storage
 * @description Component-based persistence for form data
 *
 * Form data is stored using elizaOS's Component system because:
 * 1. Entity-Scoped: Components belong to entities (users)
 * 2. Typed Storage: Component type field allows different kinds of form data
 * 3. No Custom Schema: Uses existing elizaOS infrastructure
 * 4. Room Scoping: Component type includes roomId for session isolation
 */
import type { IAgentRuntime, JsonValue, UUID } from "../../../types/index.ts";
import type { FormAutofillData, FormSession, FormSubmission } from "./types.ts";
export declare function getActiveSession(runtime: IAgentRuntime, entityId: UUID, roomId: UUID): Promise<FormSession | null>;
export declare function getAllActiveSessions(runtime: IAgentRuntime, entityId: UUID): Promise<FormSession[]>;
export declare function getStashedSessions(runtime: IAgentRuntime, entityId: UUID): Promise<FormSession[]>;
export declare function getSessionById(runtime: IAgentRuntime, entityId: UUID, sessionId: string): Promise<FormSession | null>;
export declare function saveSession(runtime: IAgentRuntime, session: FormSession): Promise<void>;
export declare function deleteSession(runtime: IAgentRuntime, session: FormSession): Promise<void>;
export declare function saveSubmission(runtime: IAgentRuntime, submission: FormSubmission): Promise<void>;
export declare function getSubmissions(runtime: IAgentRuntime, entityId: UUID, formId?: string): Promise<FormSubmission[]>;
export declare function getSubmissionById(runtime: IAgentRuntime, entityId: UUID, submissionId: string): Promise<FormSubmission | null>;
export declare function getAutofillData(runtime: IAgentRuntime, entityId: UUID, formId: string): Promise<FormAutofillData | null>;
export declare function saveAutofillData(runtime: IAgentRuntime, entityId: UUID, formId: string, values: Record<string, JsonValue>): Promise<void>;
export declare function getStaleSessions(runtime: IAgentRuntime, _afterInactiveMs: number): Promise<FormSession[]>;
export declare function getExpiringSessions(runtime: IAgentRuntime, _withinMs: number): Promise<FormSession[]>;
//# sourceMappingURL=storage.d.ts.map