import { CommandExecuteContext, CommandVerifyContext, VerificationResult } from '../../../../state_machine/types';
import { MessageRecoveryParams } from '../../types';
import { BaseInteroperabilityCommand } from '../../base_interoperability_command';
import { MainchainInteroperabilityInternalMethod } from '../internal_method';
export declare class RecoverMessageCommand extends BaseInteroperabilityCommand<MainchainInteroperabilityInternalMethod> {
    schema: {
        $id: string;
        type: string;
        required: string[];
        properties: {
            chainID: {
                dataType: string;
                minLength: number;
                maxLength: number;
                fieldNumber: number;
            };
            crossChainMessages: {
                type: string;
                items: {
                    dataType: string;
                };
                fieldNumber: number;
            };
            idxs: {
                type: string;
                items: {
                    dataType: string;
                };
                fieldNumber: number;
            };
            siblingHashes: {
                type: string;
                items: {
                    dataType: string;
                    minLength: number;
                    maxLength: number;
                };
                fieldNumber: number;
            };
        };
    };
    verify(context: CommandVerifyContext<MessageRecoveryParams>): Promise<VerificationResult>;
    execute(context: CommandExecuteContext<MessageRecoveryParams>): Promise<void>;
    private _applyRecovery;
    private _forwardRecovery;
}
