/**
 * Platform file-upload metadata store.
 *
 * Tracks every file uploaded through the /api/files endpoint.
 * Persists metadata to a dedicated SQLite database (node:sqlite).
 *
 * Responsibilities:
 *  - Insert / lookup / delete file records.
 *  - Enforce owner-scoped access (ownerId must match for deletes/reads).
 *  - Expire ephemeral files whose expiresAt has passed.
 *
 * File bytes themselves live on disk in the files subdirectory of the
 * config dir; this module does not touch the filesystem directly.
 *
 * @module
 */
export type FileRecord = {
    id: string;
    ownerId: string;
    filename: string;
    contentType: string;
    sizeBytes: number;
    localPath: string;
    extractedText: string | null;
    isPersistent: boolean;
    expiresAt: number | null;
    createdAt: number;
};
export type InsertFileParams = Omit<FileRecord, "createdAt">;
export type FileStore = {
    insert(params: InsertFileParams): FileRecord;
    getById(id: string): FileRecord | null;
    getByIdAndOwner(id: string, ownerId: string): FileRecord | null;
    delete(id: string): boolean;
    deleteExpired(): number;
    close(): void;
};
export declare function createFileStore(dbPath?: string): FileStore;
export declare function getDefaultFileStore(): FileStore;
export declare function closeDefaultFileStore(): void;
