import { CommandVerifyContext, VerificationResult, CommandExecuteContext } from '../../../state_machine';
import { BaseCommand } from '../../base_command';
import { ValidatorRegistrationParams, ValidatorsMethod, FeeMethod } from '../types';
export declare class RegisterValidatorCommand extends BaseCommand {
    schema: {
        $id: string;
        type: string;
        required: string[];
        properties: {
            name: {
                dataType: string;
                fieldNumber: number;
                minLength: number;
                maxLength: number;
            };
            blsKey: {
                dataType: string;
                minLength: number;
                maxLength: number;
                fieldNumber: number;
            };
            proofOfPossession: {
                dataType: string;
                minLength: number;
                maxLength: number;
                fieldNumber: number;
            };
            generatorKey: {
                dataType: string;
                minLength: number;
                maxLength: number;
                fieldNumber: number;
            };
        };
    };
    private _validatorsMethod;
    private _feeMethod;
    private _validatorRegistrationFee;
    addDependencies(validatorsMethod: ValidatorsMethod, feeMethod: FeeMethod): void;
    init(args: {
        validatorRegistrationFee: bigint;
    }): void;
    verify(context: CommandVerifyContext<ValidatorRegistrationParams>): Promise<VerificationResult>;
    execute(context: CommandExecuteContext<ValidatorRegistrationParams>): Promise<void>;
}
