import { Rpc } from "../../helpers";
import { QueryClient } from "@cosmjs/stargate";
import { QueryEventParamsRequest, QueryEventParamsResponse, QueryProposeParamsRequest, QueryProposeParamsResponse, QuerySafetyParamsRequest, QuerySafetyParamsResponse, QueryAcknowledgedEventInfoRequest, QueryAcknowledgedEventInfoResponse, QueryRecognizedEventInfoRequest, QueryRecognizedEventInfoResponse, QueryDelayedCompleteBridgeMessagesRequest, QueryDelayedCompleteBridgeMessagesResponse, QueryWithdrawalRequest, QueryWithdrawalResponse, QueryWithdrawalsRequest, QueryWithdrawalsResponse, QueryWithdrawalParamsRequest, QueryWithdrawalParamsResponse, QueryChainWithdrawalStatesRequest, QueryChainWithdrawalStatesResponse, QueryWithdrawalDailyUsageRequest, QueryWithdrawalDailyUsageResponse, QueryReadyForRelayWithdrawalsRequest, QueryReadyForRelayWithdrawalsResponse, QueryValidatorEvmAddressRequest, QueryValidatorEvmAddressResponse, QueryValidatorEvmAddressesRequest, QueryValidatorEvmAddressesResponse, QueryValidatorEvmAddressByEvmAddressRequest, QueryValidatorEvmAddressByEvmAddressResponse, QueryAggregatedWithdrawalRequest, QueryAggregatedWithdrawalResponse, QueryWithdrawalSignaturesRequest, QueryWithdrawalSignaturesResponse, QueryWithdrawalConfirmationInfoRequest, QueryWithdrawalConfirmationInfoResponse, QueryRecognizedWithdrawalConfirmationInfoRequest, QueryRecognizedWithdrawalConfirmationInfoResponse, QueryPendingFinalityEventsRequest, QueryPendingFinalityEventsResponse, QueryTokenReserveRequest, QueryTokenReserveResponse, QueryTokenReservesRequest, QueryTokenReservesResponse } from "./query";
/** Query defines the gRPC querier service. */
export interface Query {
    /** Queries the EventParams. */
    eventParams(request?: QueryEventParamsRequest): Promise<QueryEventParamsResponse>;
    /** Queries the ProposeParams. */
    proposeParams(request?: QueryProposeParamsRequest): Promise<QueryProposeParamsResponse>;
    /** Queries the SafetyParams. */
    safetyParams(request?: QuerySafetyParamsRequest): Promise<QuerySafetyParamsResponse>;
    /** Queries the AcknowledgedEventInfo per chain. */
    acknowledgedEventInfo(request: QueryAcknowledgedEventInfoRequest): Promise<QueryAcknowledgedEventInfoResponse>;
    /** Queries the RecognizedEventInfo per chain. */
    recognizedEventInfo(request: QueryRecognizedEventInfoRequest): Promise<QueryRecognizedEventInfoResponse>;
    /**
     * Queries all `MsgCompleteBridge` messages that are delayed (not yet
     * executed) and corresponding block heights at which they will execute.
     */
    delayedCompleteBridgeMessages(request: QueryDelayedCompleteBridgeMessagesRequest): Promise<QueryDelayedCompleteBridgeMessagesResponse>;
    /** Queries a specific withdrawal by ID and chain */
    withdrawal(request: QueryWithdrawalRequest): Promise<QueryWithdrawalResponse>;
    /** Queries all withdrawals with optional filtering */
    withdrawals(request: QueryWithdrawalsRequest): Promise<QueryWithdrawalsResponse>;
    /** Queries the WithdrawalParams */
    withdrawalParams(request?: QueryWithdrawalParamsRequest): Promise<QueryWithdrawalParamsResponse>;
    /** Queries chain withdrawal states (next_id per chain) */
    chainWithdrawalStates(request: QueryChainWithdrawalStatesRequest): Promise<QueryChainWithdrawalStatesResponse>;
    /** Queries withdrawal daily usage (daily tracking per asset-chain) */
    withdrawalDailyUsage(request: QueryWithdrawalDailyUsageRequest): Promise<QueryWithdrawalDailyUsageResponse>;
    /** Queries withdrawals ready for relay (with sufficient validator signatures) */
    readyForRelayWithdrawals(request: QueryReadyForRelayWithdrawalsRequest): Promise<QueryReadyForRelayWithdrawalsResponse>;
    /** Queries a validator's registered EVM address */
    validatorEvmAddress(request: QueryValidatorEvmAddressRequest): Promise<QueryValidatorEvmAddressResponse>;
    /** Queries all registered validator EVM addresses */
    validatorEvmAddresses(request?: QueryValidatorEvmAddressesRequest): Promise<QueryValidatorEvmAddressesResponse>;
    /** Queries a validator's EVM address by EVM address */
    validatorEvmAddressByEvmAddress(request: QueryValidatorEvmAddressByEvmAddressRequest): Promise<QueryValidatorEvmAddressByEvmAddressResponse>;
    /** Queries aggregated withdrawal with signatures */
    aggregatedWithdrawal(request: QueryAggregatedWithdrawalRequest): Promise<QueryAggregatedWithdrawalResponse>;
    /** Queries signatures for a specific withdrawal */
    withdrawalSignatures(request: QueryWithdrawalSignaturesRequest): Promise<QueryWithdrawalSignaturesResponse>;
    /** Queries per-chain withdrawal confirmation tracking info (from state) */
    withdrawalConfirmationInfo(request: QueryWithdrawalConfirmationInfoRequest): Promise<QueryWithdrawalConfirmationInfoResponse>;
    /** Queries per-chain recognized withdrawal confirmation info (from daemon server) */
    recognizedWithdrawalConfirmationInfo(request: QueryRecognizedWithdrawalConfirmationInfoRequest): Promise<QueryRecognizedWithdrawalConfirmationInfoResponse>;
    /** Queries pending finality events (for daemon restart recovery). */
    pendingFinalityEvents(request: QueryPendingFinalityEventsRequest): Promise<QueryPendingFinalityEventsResponse>;
    /** Queries token reserve for a specific asset_id and chain_id */
    tokenReserve(request: QueryTokenReserveRequest): Promise<QueryTokenReserveResponse>;
    /** Queries all token reserves */
    tokenReserves(request?: QueryTokenReservesRequest): Promise<QueryTokenReservesResponse>;
}
export declare class QueryClientImpl implements Query {
    private readonly rpc;
    constructor(rpc: Rpc);
    eventParams(request?: QueryEventParamsRequest): Promise<QueryEventParamsResponse>;
    proposeParams(request?: QueryProposeParamsRequest): Promise<QueryProposeParamsResponse>;
    safetyParams(request?: QuerySafetyParamsRequest): Promise<QuerySafetyParamsResponse>;
    acknowledgedEventInfo(request: QueryAcknowledgedEventInfoRequest): Promise<QueryAcknowledgedEventInfoResponse>;
    recognizedEventInfo(request: QueryRecognizedEventInfoRequest): Promise<QueryRecognizedEventInfoResponse>;
    delayedCompleteBridgeMessages(request: QueryDelayedCompleteBridgeMessagesRequest): Promise<QueryDelayedCompleteBridgeMessagesResponse>;
    withdrawal(request: QueryWithdrawalRequest): Promise<QueryWithdrawalResponse>;
    withdrawals(request: QueryWithdrawalsRequest): Promise<QueryWithdrawalsResponse>;
    withdrawalParams(request?: QueryWithdrawalParamsRequest): Promise<QueryWithdrawalParamsResponse>;
    chainWithdrawalStates(request: QueryChainWithdrawalStatesRequest): Promise<QueryChainWithdrawalStatesResponse>;
    withdrawalDailyUsage(request: QueryWithdrawalDailyUsageRequest): Promise<QueryWithdrawalDailyUsageResponse>;
    readyForRelayWithdrawals(request: QueryReadyForRelayWithdrawalsRequest): Promise<QueryReadyForRelayWithdrawalsResponse>;
    validatorEvmAddress(request: QueryValidatorEvmAddressRequest): Promise<QueryValidatorEvmAddressResponse>;
    validatorEvmAddresses(request?: QueryValidatorEvmAddressesRequest): Promise<QueryValidatorEvmAddressesResponse>;
    validatorEvmAddressByEvmAddress(request: QueryValidatorEvmAddressByEvmAddressRequest): Promise<QueryValidatorEvmAddressByEvmAddressResponse>;
    aggregatedWithdrawal(request: QueryAggregatedWithdrawalRequest): Promise<QueryAggregatedWithdrawalResponse>;
    withdrawalSignatures(request: QueryWithdrawalSignaturesRequest): Promise<QueryWithdrawalSignaturesResponse>;
    withdrawalConfirmationInfo(request: QueryWithdrawalConfirmationInfoRequest): Promise<QueryWithdrawalConfirmationInfoResponse>;
    recognizedWithdrawalConfirmationInfo(request: QueryRecognizedWithdrawalConfirmationInfoRequest): Promise<QueryRecognizedWithdrawalConfirmationInfoResponse>;
    pendingFinalityEvents(request: QueryPendingFinalityEventsRequest): Promise<QueryPendingFinalityEventsResponse>;
    tokenReserve(request: QueryTokenReserveRequest): Promise<QueryTokenReserveResponse>;
    tokenReserves(request?: QueryTokenReservesRequest): Promise<QueryTokenReservesResponse>;
}
export declare const createRpcQueryExtension: (base: QueryClient) => {
    eventParams(request?: QueryEventParamsRequest): Promise<QueryEventParamsResponse>;
    proposeParams(request?: QueryProposeParamsRequest): Promise<QueryProposeParamsResponse>;
    safetyParams(request?: QuerySafetyParamsRequest): Promise<QuerySafetyParamsResponse>;
    acknowledgedEventInfo(request: QueryAcknowledgedEventInfoRequest): Promise<QueryAcknowledgedEventInfoResponse>;
    recognizedEventInfo(request: QueryRecognizedEventInfoRequest): Promise<QueryRecognizedEventInfoResponse>;
    delayedCompleteBridgeMessages(request: QueryDelayedCompleteBridgeMessagesRequest): Promise<QueryDelayedCompleteBridgeMessagesResponse>;
    withdrawal(request: QueryWithdrawalRequest): Promise<QueryWithdrawalResponse>;
    withdrawals(request: QueryWithdrawalsRequest): Promise<QueryWithdrawalsResponse>;
    withdrawalParams(request?: QueryWithdrawalParamsRequest): Promise<QueryWithdrawalParamsResponse>;
    chainWithdrawalStates(request: QueryChainWithdrawalStatesRequest): Promise<QueryChainWithdrawalStatesResponse>;
    withdrawalDailyUsage(request: QueryWithdrawalDailyUsageRequest): Promise<QueryWithdrawalDailyUsageResponse>;
    readyForRelayWithdrawals(request: QueryReadyForRelayWithdrawalsRequest): Promise<QueryReadyForRelayWithdrawalsResponse>;
    validatorEvmAddress(request: QueryValidatorEvmAddressRequest): Promise<QueryValidatorEvmAddressResponse>;
    validatorEvmAddresses(request?: QueryValidatorEvmAddressesRequest): Promise<QueryValidatorEvmAddressesResponse>;
    validatorEvmAddressByEvmAddress(request: QueryValidatorEvmAddressByEvmAddressRequest): Promise<QueryValidatorEvmAddressByEvmAddressResponse>;
    aggregatedWithdrawal(request: QueryAggregatedWithdrawalRequest): Promise<QueryAggregatedWithdrawalResponse>;
    withdrawalSignatures(request: QueryWithdrawalSignaturesRequest): Promise<QueryWithdrawalSignaturesResponse>;
    withdrawalConfirmationInfo(request: QueryWithdrawalConfirmationInfoRequest): Promise<QueryWithdrawalConfirmationInfoResponse>;
    recognizedWithdrawalConfirmationInfo(request: QueryRecognizedWithdrawalConfirmationInfoRequest): Promise<QueryRecognizedWithdrawalConfirmationInfoResponse>;
    pendingFinalityEvents(request: QueryPendingFinalityEventsRequest): Promise<QueryPendingFinalityEventsResponse>;
    tokenReserve(request: QueryTokenReserveRequest): Promise<QueryTokenReserveResponse>;
    tokenReserves(request?: QueryTokenReservesRequest): Promise<QueryTokenReservesResponse>;
};
//# sourceMappingURL=query.rpc.Query.d.ts.map