import BaseConsumer from '../../BaseGrpcConsumer';
import { PaginationOption } from '../../../types/pagination';
/**
 * The Wasm module manages contract state and info.
 *
 * @group gRPC API
 *
 * @example
 * To use Wasm methods, initialise a {@link ChainGrpcWasmApi} object to with a gRPC endpoint. An endpoint can be retrieved by using {@link networkEndpoints}.
 * ```ts
 * const endpoint =  getEndpointsForNetwork(Network.Devnet).grpcEndpoint;
 * const client = new ChainGrpcWasmApi(endpoint);
 * const response = await client.fetchContractInfo(<contract-address>);
 * ```
 */
export declare class ChainGrpcWasmApi extends BaseConsumer {
    protected module: string;
    /**
     * Get balance of a contract.
     *
     * @param contractAddress contract address.
     * @returns balance.
     */
    fetchContractAccountsBalance({ contractAddress, pagination, }: {
        contractAddress: string;
        pagination?: PaginationOption;
    }): Promise<import("../types/custom/wasm").ContractAccountsBalanceWithPagination>;
    /**
     * Get contract info.
     *
     * @param contractAddress contract address.
     * @returns contract info.
     */
    fetchContractInfo(contractAddress: string): Promise<import("../types/custom/wasm").ContractInfo | undefined>;
    /**
     * Get contract's history.
     *
     * @param contractAddress contract address.
     * @returns contract history.
     */
    fetchContractHistory(contractAddress: string): Promise<{
        entriesList: any;
        pagination: any;
    }>;
    /**
     * Get contract's state of the query made.
     *
     * @param contractAddress contract address.
     * @param queryData query data.
     * @returns smart contract state data.
     */
    fetchSmartContractState(contractAddress: string, query?: string | Uint8Array): Promise<{
        data: Record<string, any>;
    }>;
    /**
     *
     * @param contractAddress contract address.
     * @param queryData query data.
     * @returns raw contract state data.
     */
    fetchRawContractState(contractAddress: string, query?: string | Uint8Array): Promise<any>;
    fetchContractCodes(pagination?: PaginationOption): Promise<{
        codeInfosList: any;
        pagination: any;
    }>;
    fetchContractCode(codeId: number): Promise<{
        codeInfo: import("../types/custom/wasm").CodeInfoResponse;
        /**
         * Get contract's history.
         *
         * @param contractAddress contract address.
         * @returns contract history.
         */
        data: any;
    }>;
    fetchContractCodeContracts(codeId: number, pagination?: PaginationOption): Promise<{
        contractsList: any;
        pagination: any;
    }>;
}
