import type { InternalDiff } from '../../../replicache/src/btree/node.ts';
import type { Hash } from '../../../replicache/src/hash.ts';
import type { ZeroContext } from './context.ts';
import type { IVMSourceBranch } from './ivm-branch.ts';
import type { LazyStore } from '../../../replicache/src/dag/lazy-store.ts';
import type { EphemeralID, MutationTrackingData, ZeroOption, ZeroReadOptions } from '../../../replicache/src/replicache-options.ts';
import type { MutationTracker } from './mutation-tracker.ts';
type TxData = {
    ivmSources: IVMSourceBranch;
    token: string | undefined;
};
export declare class ZeroRep implements ZeroOption {
    #private;
    constructor(context: ZeroContext, ivmMain: IVMSourceBranch, customMutatorsEnabled: boolean, mutationTracker: MutationTracker);
    set auth(auth: string);
    init(hash: Hash, store: LazyStore): Promise<void>;
    getTxData: (desiredHead: Hash, readOptions?: ZeroReadOptions | undefined) => Promise<TxData> | undefined;
    advance: (expectedHash: Hash, newHash: Hash, diffs: InternalDiff) => void;
    trackMutation(): MutationTrackingData;
    mutationIDAssigned(ephemeralID: EphemeralID, mutationID: number): void;
    rejectMutation(ephemeralID: EphemeralID, ex: unknown): void;
}
export {};
//# sourceMappingURL=zero-rep.d.ts.map