///
import { ImmutableMethodContext, MethodContext } from '../../state_machine';
import { BaseMethod } from '../base_method';
import { ModuleConfig, StakerData, TokenMethod } from './types';
import { ValidatorAccount } from './stores/validator';
import { InternalMethod } from './internal_method';
export declare class PoSMethod extends BaseMethod {
private _config;
private _moduleName;
private _tokenMethod;
private _internalMethod;
init(moduleName: string, config: ModuleConfig, internalMethod: InternalMethod, tokenMethod: TokenMethod): void;
isNameAvailable(methodContext: ImmutableMethodContext, name: string): Promise;
getStaker(methodContext: ImmutableMethodContext, address: Buffer): Promise;
getValidator(methodContext: ImmutableMethodContext, address: Buffer): Promise;
getRoundLength(_methodContext: ImmutableMethodContext): number;
getNumberOfActiveValidators(_methodContext: ImmutableMethodContext): number;
updateSharedRewards(context: MethodContext, generatorAddress: Buffer, tokenID: Buffer, reward: bigint): Promise;
getRoundNumberFromHeight(methodContext: ImmutableMethodContext, height: number): Promise;
isEndOfRound(methodContext: ImmutableMethodContext, height: number): Promise;
unbanValidator(methodContext: MethodContext, address: Buffer): Promise;
getLockedStakedAmount(ctx: ImmutableMethodContext, address: Buffer): Promise;
}