import { Mutation, MutationId, MutationResponse } from "./protocol.js";
import { Long } from "../long.js";
export declare class MutationManager {
    private inflightMutations;
    constructor();
    request(udfPath: string, args: any[], mutationId: MutationId): {
        message: Mutation;
        result: Promise<any>;
    };
    /**
     * Update the state after receving a mutation response.
     *
     * @returns A MutationId if the mutation is complete and its optimistic update
     * can be dropped, null otherwise.
     */
    onResponse(response: MutationResponse): MutationId | null;
    removeCompletedMutations(ts: Long): Set<MutationId>;
    hasUncommittedMutations(): boolean;
    restart(): Mutation[];
}
//# sourceMappingURL=mutation_manager.d.ts.map