import { AbstractPowerSyncDatabase } from '../client/AbstractPowerSyncDatabase.js'; import { DifferentialWatchedQuery } from '../client/watched/processors/DifferentialQueryProcessor.js'; import { ILogger } from '../utils/Logger.js'; import { AttachmentContext } from './AttachmentContext.js'; import { AttachmentRecord } from './Schema.js'; /** * Service for querying and watching attachment records in the database. * * @internal */ export declare class AttachmentService { private db; private logger; private tableName; private mutex; private context; constructor(db: AbstractPowerSyncDatabase, logger: ILogger, tableName?: string, archivedCacheLimit?: number); /** * Creates a differential watch query for active attachments requiring synchronization. * @returns Watch query that emits changes for queued uploads, downloads, and deletes */ watchActiveAttachments({ throttleMs }?: { throttleMs?: number; }): DifferentialWatchedQuery; /** * Executes a callback with exclusive access to the attachment context. */ withContext(callback: (context: AttachmentContext) => Promise): Promise; }