import { Table } from '../db/schema/Table.js'; import { TableV2Options } from '../db/schema/Table.js'; export declare const ATTACHMENT_TABLE = "attachments"; /** * AttachmentRecord represents an attachment in the local database. * * @experimental */ export interface AttachmentRecord { id: string; filename: string; localUri?: string; size?: number; mediaType?: string; timestamp?: number; metaData?: string; hasSynced?: boolean; state: AttachmentState; } /** * Maps a database row to an AttachmentRecord. * * @param row - The database row object * @returns The corresponding AttachmentRecord * * @experimental */ export declare function attachmentFromSql(row: any): AttachmentRecord; /** * AttachmentState represents the current synchronization state of an attachment. * * @experimental */ export declare enum AttachmentState { QUEUED_UPLOAD = 0,// Attachment to be uploaded QUEUED_DOWNLOAD = 1,// Attachment to be downloaded QUEUED_DELETE = 2,// Attachment to be deleted SYNCED = 3,// Attachment has been synced ARCHIVED = 4 } export interface AttachmentTableOptions extends Omit { } /** * AttachmentTable defines the schema for the attachment queue table. * * @internal */ export declare class AttachmentTable extends Table { constructor(options?: AttachmentTableOptions); }