import { DatabaseAdapter, BaseModel } from '../core/types';
interface RESTfulAdapterOptions {
    baseUrl: string;
    apiKey?: string;
    headers?: Record<string, string>;
    timeout?: number;
}
export declare class RESTfulAdapter implements DatabaseAdapter {
    private baseUrl;
    private headers;
    private timeout;
    private initialized;
    constructor(options: RESTfulAdapterOptions);
    isAvailable(): Promise<boolean>;
    initSync(): Promise<void>;
    readAll<T extends BaseModel>(storeName: string): Promise<T[]>;
    listAll(storeName: string): Promise<string[]>;
    readBulk<T extends BaseModel>(storeName: string, ids: string[]): Promise<T[]>;
    putBulk<T extends BaseModel>(storeName: string, items: T[]): Promise<T[]>;
    hardDeleteBulk(storeName: string, ids: string[]): Promise<void>;
    private fetchWithTimeout;
    clearStore(storeName: string): Promise<void>;
    reset(): Promise<void>;
}
export {};
