import { Coin } from "cosmjs-types/cosmos/base/v1beta1/coin";
import { Pagination } from ".";
import { AuthorizationType } from "./AuthzTxTypes";
export interface GrantSendData {
    authorization: authorization_send;
    expiration: string;
}
export interface GrantGenericData {
    authorization: authorization_generic;
    expiration: string;
}
export interface GrantStakingData {
    authorization: authorization_staking;
    expiration: string;
}
export interface authorization_send {
    "@type": string;
    spend_limit: Coin[];
}
export interface authorization_generic {
    "@type": string;
    msg: string;
}
export interface authorization_staking {
    "@type": string;
    max_tokens: Coin;
    allow_list: allowList;
    authorization_type: string;
}
export interface allowList {
    address: string[];
}
export declare class AuthzQueryClient {
    private readonly axios;
    constructor(baseUrl: string);
    getSendGrantData(granterAddress: string, granteeAddress: string, paginationKey?: string): Promise<{
        dataList: GrantSendData[];
        pagination: Pagination;
    }>;
    getGenericGrantData(granterAddress: string, granteeAddress: string, msgType: string, paginationKey?: string): Promise<{
        dataList: GrantGenericData[];
        pagination: Pagination;
    }>;
    getStakingGrantData(granterAddress: string, granteeAddress: string, type: AuthorizationType, paginationKey?: string): Promise<{
        dataList: GrantStakingData[];
        pagination: Pagination;
    }>;
}
