import { BaseInteroperabilityCommand } from './base_interoperability_command';
import { StateRecoveryParams } from './types';
import { CommandExecuteContext, CommandVerifyContext, VerificationResult } from '../../state_machine';
import { BaseInteroperabilityInternalMethod } from './base_interoperability_internal_methods';
export declare class BaseStateRecoveryCommand<T extends BaseInteroperabilityInternalMethod> extends BaseInteroperabilityCommand<T> {
    schema: {
        $id: string;
        type: string;
        required: string[];
        properties: {
            chainID: {
                dataType: string;
                fieldNumber: number;
                minLength: number;
                maxLength: number;
            };
            module: {
                dataType: string;
                fieldNumber: number;
                minLength: number;
                maxLength: number;
            };
            storeEntries: {
                type: string;
                fieldNumber: number;
                items: {
                    type: string;
                    properties: {
                        substorePrefix: {
                            dataType: string;
                            fieldNumber: number;
                            minLength: number;
                            maxLength: number;
                        };
                        storeKey: {
                            dataType: string;
                            fieldNumber: number;
                        };
                        storeValue: {
                            dataType: string;
                            fieldNumber: number;
                        };
                        bitmap: {
                            dataType: string;
                            fieldNumber: number;
                        };
                    };
                    required: string[];
                };
            };
            siblingHashes: {
                type: string;
                items: {
                    dataType: string;
                    minLength: number;
                    maxLength: number;
                };
                fieldNumber: number;
            };
        };
    };
    verify(context: CommandVerifyContext<StateRecoveryParams>): Promise<VerificationResult>;
    execute(context: CommandExecuteContext<StateRecoveryParams>): Promise<void>;
}
