import { OfflineTransaction, StorageAdapter } from '../types.js';
import { Collection } from '@tanstack/db';
export declare class OutboxManager {
    private storage;
    private serializer;
    private keyPrefix;
    constructor(storage: StorageAdapter, collections: Record<string, Collection<any, any, any, any, any>>);
    private getStorageKey;
    add(transaction: OfflineTransaction): Promise<void>;
    get(id: string): Promise<OfflineTransaction | null>;
    getAll(): Promise<Array<OfflineTransaction>>;
    getByKeys(keys: Array<string>): Promise<Array<OfflineTransaction>>;
    update(id: string, updates: Partial<OfflineTransaction>): Promise<void>;
    remove(id: string): Promise<void>;
    removeMany(ids: Array<string>): Promise<void>;
    clear(): Promise<void>;
    count(): Promise<number>;
}
