import { TransactionBlockstore, IndexBlockstore } from './transaction';
import type { DocUpdate, BulkResult, ClockHead } from './types';
import type { Indexer } from '.';
export declare class CRDT {
    name: string | null;
    ready: Promise<void>;
    blocks: TransactionBlockstore;
    indexBlocks: IndexBlockstore;
    indexers: Map<string, Indexer>;
    private _head;
    constructor(name?: string, blocks?: TransactionBlockstore);
    bulk(updates: DocUpdate[], options?: object): Promise<BulkResult>;
    get(key: string): Promise<import("./types").DocValue | null>;
    changes(since?: ClockHead): Promise<{
        result: DocUpdate[];
        head: ClockHead;
    }>;
    compact(): Promise<void>;
}
