import { Deadline, Transaction, UInt64 } from 'symbol-sdk';
import { Addresses, ConfigPreset, NodeAccount, NodePreset } from '../model';
import { TransactionFactory } from './AnnounceService';
export declare type RewardProgramParams = {
    target: string;
    password?: string;
    url: string;
    maxFee?: number;
    useKnownRestGateways: boolean;
    ready?: boolean;
};
export interface RewardProgramServiceTransactionFactoryParams {
    presetData: ConfigPreset;
    nodePreset: NodePreset;
    nodeAccount: NodeAccount;
    deadline: Deadline;
    maxFee: UInt64;
}
export declare enum RewardProgram {
    EarlyAdoption = "EarlyAdoption",
    Ecosystem = "Ecosystem",
    SuperNode = "SuperNode",
    MonitorOnly = "MonitorOnly"
}
export declare class RewardProgramService implements TransactionFactory {
    protected readonly params: RewardProgramParams;
    static readonly defaultParams: RewardProgramParams;
    private readonly configLoader;
    constructor(params: RewardProgramParams);
    static getRewardProgram(value: string): RewardProgram;
    enroll(passedPresetData?: ConfigPreset | undefined, passedAddresses?: Addresses | undefined): Promise<void>;
    createTransactions({ presetData, nodePreset, nodeAccount, deadline, maxFee, }: RewardProgramServiceTransactionFactoryParams): Promise<Transaction[]>;
}
