import { EffectuatedWiseOperation } from "../protocol/EffectuatedWiseOperation";
import { SetRules } from "../protocol/SetRules";
import { SendVoteorder } from "../protocol/SendVoteorder";
import { ConfirmVote } from "../protocol/ConfirmVote";
export declare namespace SynchronizerCallbacks {
    interface CallbackParam {
        onSetRules: OnSetRules;
        onVoteorder: OnVoteorder;
        onConfirmVote?: OnConfirmVote;
        onError?: OnError;
        onStart?: OnStart;
        onFinished?: OnFinished;
        onBlockProcessingStart?: OnBlockProcessingStart;
        onBlockOperationsLoaded?: OnBlockOperationsLoaded;
        onBlockProcessingFinished?: OnBlockProcessingFinished;
    }
    type OnStart = () => void;
    type OnFinished = () => void;
    type OnSetRules = (setRules: SetRules, wiseOp: EffectuatedWiseOperation) => void;
    type OnVoteorder = (sendVoteorder: SendVoteorder, wiseOp: EffectuatedWiseOperation) => void;
    type OnConfirmVote = (confirmVote: ConfirmVote, wiseOp: EffectuatedWiseOperation) => void;
    type OnError = (error: Error, proceeding: boolean) => void;
    type OnBlockProcessingStart = (blockNum: number) => void;
    type OnBlockOperationsLoaded = (blockNum: number, ops: EffectuatedWiseOperation[]) => void;
    type OnBlockProcessingFinished = (blockNum: number) => void;
}
