import { PageRequest } from '@routerprotocol/chain-api/cosmos/base/query/v1beta1/pagination_pb';
import BaseConsumer from '../../BaseGrpcConsumer';
/**
 * 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<any>;
    /**
     * Fetches all ready to execute crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchReadyToExecuteCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all ready to execute crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchReadyToExecuteCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all validated crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchValidatedCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all validated crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchValidatedCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all native transfered crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchNativeTransferedCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all blocked crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchBlockedCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all blocked crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchBlockedCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all executed crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchExecutedCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all executed crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchExecutedCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all completed crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchCompletedCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all executed crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchCompletedCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all fee settled crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchFeeSettledCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all executed crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchFeeSettledCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all expired crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchExpiredCrosschainRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * Fetches all expired crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchExpiredCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * 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<any>;
    /**
     * Fetch crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchCrosschainAckRequests(pageRequestObject?: PageRequest.AsObject): Promise<any>;
    /**
     * 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<any>;
    /**
     * Fetch crosschain request confirmation
     * @param sourceChainId
     * @param requestIdentifier
     * @param claimHash
     * @param orchestrator
     * @returns
     */
    fetchCrosschainRequestConfirmation(sourceChainId: string, requestIdentifier: number, claimHash: Uint8Array | string, orchestrator: string): Promise<any>;
    /**
     * 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<any>;
    /**
     * Fetches a ready to execute crosschain requests
     * @param pageRequestObject
     * @returns
     */
    fetchReadyToExecuteCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * Fetches a ready to execute crosschain ack requests
     * @param pageRequestObject
     * @returns
     */
    fetchReadyToExecuteCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch CrosschainAckRequestConfirmation
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch CrosschainAckReceipt
     *
     * @param ackReceiptSrcChainId
     * @param ackReceiptIdentifier
     * @returns
     */
    fetchCrosschainAckReceipt(ackReceiptSrcChainId: string, ackReceiptIdentifier: number): Promise<any>;
    /**
     * fetch validated CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchValidatedCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch validated CrosschainAckRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchValidatedCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch native transfered CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchNativeTransferedCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch blocked CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchBlockedCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch blocked CrosschainAckRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchBlockedCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch executed CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchExecutedCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch executed CrosschainAckRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchExecutedCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch fee settled CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchFeeSettledCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch fee settled CrosschainAckRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchFeeSettledCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch completed CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchCompletedCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch fee settled CrosschainAckRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchCompletedCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch expired CrosschainRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchExpiredCrosschainRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
    /**
     * fetch expired CrosschainAckRequest
     *
     * @param sourceChainId
     * @param requestIdentifier
     * @returns
     */
    fetchExpiredCrosschainAckRequest(sourceChainId: string, requestIdentifier: number): Promise<any>;
}
