///
import { BaseMethod } from '../base_method';
import { MethodContext, ImmutableMethodContext } from '../../state_machine';
import { MethodInitArgs, ValidatorAddress } from './types';
import { ValidatorKeys } from './stores/validator_keys';
import { ValidatorsParams } from './stores/validators_params';
import { NextValidatorsSetter, Validator } from '../../state_machine/types';
export type ValidatorArgs = {
validatorAddress?: Buffer;
blsKey?: Buffer;
proofOfPossession?: Buffer;
generatorKey?: Buffer;
};
export declare class ValidatorsMethod extends BaseMethod {
private _blockTime;
init(args: MethodInitArgs): void;
registerValidatorKeys(methodContext: MethodContext, validatorAddress: Buffer, blsKey: Buffer, generatorKey: Buffer, proofOfPossession: Buffer): Promise;
registerValidatorWithoutBLSKey(methodContext: MethodContext, validatorAddress: Buffer, generatorKey: Buffer): Promise;
getAddressFromBLSKey(methodContext: MethodContext, blsKey: Buffer): Promise;
getValidatorKeys(methodContext: ImmutableMethodContext, address: Buffer): Promise;
setValidatorBLSKey(methodContext: MethodContext, validatorAddress: Buffer, blsKey: Buffer, proofOfPossession: Buffer): Promise;
setValidatorGeneratorKey(methodContext: MethodContext, validatorAddress: Buffer, generatorKey: Buffer): Promise;
isKeyRegistered(methodContext: ImmutableMethodContext, blsKey: Buffer): Promise;
getGeneratorsBetweenTimestamps(methodContext: ImmutableMethodContext, startTimestamp: number, endTimestamp: number): Promise>;
getValidatorsParams(methodContext: ImmutableMethodContext): Promise;
setValidatorsParams(methodContext: MethodContext, validatorSetter: NextValidatorsSetter, preCommitThreshold: bigint, certificateThreshold: bigint, validators: Pick[]): Promise;
private _validateLengths;
}