import { QueryAllCrosschainRequestResponse, QueryAllCrosschainRequestConfirmResponse, QueryAllCrosschainAckRequestResponse, QueryAllCrosschainAckRequestConfirmResponse, QueryGetCrosschainRequestConfirmResponse, QueryGetCrosschainAckRequestConfirmResponse, QueryGetCrosschainAckReceiptResponse, QueryGetCrosschainAckRequestResponse, QueryGetCrosschainRequestResponse } from '@routerprotocol/chain-api/routerchain/crosschain/query_pb';
import BaseConsumer from '../../BaseGrpcConsumer';
import { PageRequest } from '@routerprotocol/chain-api/cosmos/base/query/v1beta1/pagination_pb';
/**
 * The Crosschain module is responsible for handling inbound, outbound and crosstalk requests.
 *
 * @group gRPC API
 *
 * @example
 * To use Crosschain methods, initialise a {@link ChainGrpcCrosschainApi} 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 ChainGrpcCrosschainApi(endpoint);
 * const response = await client.fetchCrosschainRequests();
 * ```
 */
export declare class ChainGrpcCrosschainApi extends BaseConsumer {
    /**
     * Fetches all crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<QueryAllCrosschainRequestResponse.AsObject>;
    /**
     * Fetch crosschain request confirmations
     * @param sourceChainId
     * @param requestIdentifier
     * @param claimHash
     * @param pageRequestObject
     * @returns
     */
    fetchCrosschainRequestConfirmations(sourceChainId: string, requestIdentifier: number, claimHash: Uint8Array | string, pageRequestObject?: PageRequest.AsObject): Promise<QueryAllCrosschainRequestConfirmResponse.AsObject>;
    /**
     * Fetch crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<QueryAllCrosschainAckRequestResponse.AsObject>;
    /**
     * Fetch crosschain ack request confirmations
     * @param sourceChainId
     * @param requestIdentifier
     * @param claimHash
     * @param pageRequestObject
     * @returns
     */
    fetchCrosschainAckRequestConfirmations(sourceChainId: string, requestIdentifier: number, claimHash: Uint8Array | string, pageRequestObject?: PageRequest.AsObject): Promise<QueryAllCrosschainAckRequestConfirmResponse.AsObject>;
    /**
     * Fetch crosschain request confirmation
     * @param sourceChainId
     * @param requestIdentifier
     * @param claimHash
     * @param orchestrator
     * @returns
     */
    fetchCrosschainRequestConfirmation(sourceChainId: string, requestIdentifier: number, claimHash: Uint8Array | string, orchestrator: string): Promise<QueryGetCrosschainRequestConfirmResponse.AsObject>;
    /**
     * Fetch crosschain ack request confirmation
     * @param sourceChainId
     * @param requestIdentifier
     * @param claimHash
     * @param orchestrator
     * @returns
     */
    fetchCrosschainAckRequestConfirmation(sourceChainId: string, requestIdentifier: number, claimHash: Uint8Array | string, orchestrator: string): Promise<QueryGetCrosschainAckRequestConfirmResponse.AsObject>;
    /**
     * fetch CrosschainAckRequestConfirmation
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<QueryGetCrosschainAckRequestResponse.AsObject>;
    /**
     * fetch CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<QueryGetCrosschainRequestResponse.AsObject>;
    /**
     * fetch CrosschainAckReceipt
     *
     * @param ackReceiptSrcChainId
     * @param ackReceiptIdentifier
     * @returns
     */
    fetchCrosschainAckReceipt(ackReceiptSrcChainId: string, ackReceiptIdentifier: number): Promise<QueryGetCrosschainAckReceiptResponse.AsObject>;
}
