import { Pagination } from "../common";
export interface ParamsDataType {
    unbonding_time: string;
    max_validators: number;
    max_entries: number;
    historical_entries: number;
    bond_denom: string;
}
export interface PoolDataType {
    not_bonded_tokens: string;
    bonded_tokens: string;
}
export interface RedelegationInfo {
    redelegation: {
        delegator_address: string;
        validator_src_address: string;
        validator_dst_address: string;
        entries: string;
    };
    entries: {
        redelegation_entry: {
            creation_height: number;
            completion_time: string;
            initial_balance: string;
            shares_dst: string;
        };
        balance: string;
    }[];
}
export interface UndelegationInfo {
    delegator_address: string;
    validator_address: string;
    entries: {
        creation_height: string;
        completion_time: string;
        initial_balance: string;
        balance: string;
    }[];
}
export interface DelegationInfo {
    delegation: {
        delegator_address: string;
        validator_address: string;
        shares: string;
    };
    balance: {
        denom: string;
        amount: string;
    };
}
export interface ValidatorDataType {
    operator_address: string;
    consensus_pubkey: {
        '@type': string;
        key: string;
    };
    jailed: boolean;
    status: string;
    tokens: string;
    delegator_shares: string;
    description: {
        moniker: string;
        identity: string;
        website: string;
        security_contact: string;
        details: string;
    };
    unbonding_height: string;
    unbonding_time: string;
    commission: {
        commission_rates: {
            rate: string;
            max_rate: string;
            max_change_rate: string;
        };
        update_time: string;
    };
    min_self_delegation: string;
}
export declare class StakingQueryClient {
    private readonly axios;
    constructor(baseUrl: string);
    queryGetUndelegationInfoFromValidator(address: string, validatorAddress: string): Promise<UndelegationInfo>;
    queryGetDelegationInfoFromValidator(address: string, validatorAddress: string): Promise<DelegationInfo>;
    queryGetTotalUndelegateInfo(address: string): Promise<UndelegationInfo[]>;
    querygetTotalRedelegationInfo(address: string): Promise<RedelegationInfo[]>;
    queryGetUndelegationListFromValidator(valoperAddress: string, paginationKey?: string): Promise<{
        dataList: UndelegationInfo[];
        pagination: Pagination;
    }>;
    queryGetDelegateListFromValidator(valoperAddress: string, paginationKey?: string): Promise<{
        dataList: DelegationInfo[];
        pagination: Pagination;
    }>;
    queryGetTotalDelegationInfo(address: string, paginationKey?: string): Promise<{
        dataList: DelegationInfo[];
        pagination: Pagination;
    }>;
    queryGetParams(): Promise<ParamsDataType>;
    queryGetPool(): Promise<PoolDataType>;
    queryValidator(valoperAddress: string): Promise<ValidatorDataType>;
    queryValidators(status: string, paginationKey?: string): Promise<{
        dataList: ValidatorDataType[];
        pagination: Pagination;
    }>;
}
