import { BaseModule, ModuleInitArgs, ModuleMetadata } from '../base_module';
import { RandomMethod, TokenMethod } from './types';
import { BlockAfterExecuteContext, BlockExecuteContext } from '../../state_machine';
import { RewardMethod } from './method';
import { RewardEndpoint } from './endpoint';
export declare class RewardModule extends BaseModule {
    method: RewardMethod;
    configSchema: {
        $id: string;
        type: string;
        properties: {
            tokenID: {
                type: string;
                format: string;
                minLength: number;
                maxLength: number;
            };
            offset: {
                type: string;
                minimum: number;
            };
            distance: {
                type: string;
                minimum: number;
            };
            brackets: {
                type: string;
                items: {
                    type: string;
                    format: string;
                };
            };
        };
        required: string[];
    };
    endpoint: RewardEndpoint;
    private _tokenMethod;
    private _randomMethod;
    private _moduleConfig;
    constructor();
    addDependencies(tokenMethod: TokenMethod, randomMethod: RandomMethod): void;
    metadata(): ModuleMetadata;
    init(args: ModuleInitArgs): Promise<void>;
    beforeTransactionsExecute(context: BlockExecuteContext): Promise<void>;
    afterTransactionsExecute(context: BlockAfterExecuteContext): Promise<void>;
}
