import { DatabaseAdapter, BaseModel, Attachment } from '../core/types';
interface RestAdapterOptions {
    baseUrl: string;
    apiKey?: string;
    headers?: Record<string, string>;
}
export declare class RestAdapter implements DatabaseAdapter {
    private baseUrl;
    private headers;
    constructor(options: RestAdapterOptions);
    initSync(): Promise<void>;
    isAvailable(): Promise<boolean>;
    read<T extends BaseModel>(storeName: string, options?: {
        limit?: number;
        offset?: number;
        since?: number;
    }): Promise<{
        items: T[];
        hasMore: boolean;
    }>;
    readBulk<T extends BaseModel>(storeName: string, ids: string[]): Promise<T[]>;
    putBulk<T extends BaseModel>(storeName: string, items: T[]): Promise<T[]>;
    deleteBulk(storeName: string, ids: string[]): Promise<void>;
    readFile(fileId: string): Promise<Blob | ArrayBuffer>;
    saveFile(content: Blob | ArrayBuffer | string, fileId: string): Promise<Attachment>;
    deleteFile(fileId: string): Promise<void>;
}
export {};
