import { TonBaseStaker } from './TonBaseStaker';
import { NominatorInfo, UnsignedTx } from './types';
export declare class TonNominatorPoolStaker extends TonBaseStaker {
    /**
     * Builds a staking (delegation) transaction for Nominator Pool contract.
     * For more information see: https://github.com/ton-blockchain/nominator-pool
     *
     * @param params - Parameters for building the transaction
     * @param params.delegatorAddress - The delegator address to stake from
     * @param params.validatorAddress - The validator address to stake to
     * @param params.amount - The amount to stake, specified in `TON`
     * @param params.validUntil - (Optional) The Unix timestamp when the transaction expires
     *
     * @returns Returns a promise that resolves to a TON nominator pool staking transaction.
     */
    buildStakeTx(params: {
        delegatorAddress: string;
        validatorAddress: string;
        amount: string;
        validUntil?: number;
    }): Promise<{
        tx: UnsignedTx;
    }>;
    /**
     * Builds an unstaking (withdraw nominator) transaction for Nominator Pool contract.
     * For more information see: https://github.com/ton-blockchain/nominator-pool
     *
     * @param params - Parameters for building the transaction
     * @param params.delegatorAddress - The delegator address
     * @param params.validatorAddress - The validator address to unstake from
     * @param params.validUntil - (Optional) The Unix timestamp when the transaction expires
     *
     * @returns Returns a promise that resolves to a TON nominator pool unstaking transaction.
     */
    buildUnstakeTx(params: {
        delegatorAddress: string;
        validatorAddress: string;
        validUntil?: number;
    }): Promise<{
        tx: UnsignedTx;
    }>;
    /**
     * Retrieves the staking information for a specified delegator.
     *
     * @param params - Parameters for the request
     * @param params.delegatorAddress - The delegator (wallet) address
     * @param params.validatorAddress - The validator address to gather rewards data from
     * @param params.contractType - The validator contract type (single-nominator-pool or nominator-pool)
     *
     * @returns Returns a promise that resolves to the staking information for the specified delegator.
     */
    getStake(params: {
        delegatorAddress: string;
        validatorAddress: string;
    }): Promise<{
        balance: string;
    }>;
    /**
     * Retrieves the active nominators for a Nominator Pool contract.
     * For more information see: https://github.com/ton-blockchain/nominator-pool
     *
     * @param params - Parameters for the request
     * @param params.validatorAddress - The validator address to gather rewards data from
     *
     * @returns Returns a promise that resolves to the nominator data for the validator address.
     */
    getPoolContractNominators(params: {
        validatorAddress: string;
    }): Promise<{
        nominators: NominatorInfo[];
    }>;
}
