import { SetOptional } from 'type-fest';
import { BitAccount } from '../BitAccount';
import { BitAccountRecord } from '../fetchers/BitIndexer.type';
export type BitAccountRecordAddition = SetOptional<BitAccountRecord, 'label' | 'ttl'>;
export type BitAccountRecordMatcher = SetOptional<Omit<BitAccountRecord, 'ttl'>, 'key' | 'label' | 'value'>;
export declare class RecordsEditor {
    initialRecords: BitAccountRecord[];
    bitAccount: BitAccount;
    records: BitAccountRecord[];
    constructor(initialRecords: BitAccountRecord[], bitAccount: BitAccount);
    add(records: BitAccountRecordAddition | BitAccountRecordAddition[]): this;
    delete(recordMatcher: BitAccountRecordMatcher): this;
    change(recordMatcher: BitAccountRecordMatcher, record: BitAccountRecordAddition | BitAccountRecordAddition[]): this;
    empty(): void;
    execute(): Promise<{
        hash: string;
    }>;
}
