import type { ChainData } from "@0xsquid/squid-types";
import type { OfflineSigner } from "@cosmjs/proto-signing";
import type { Keplr } from "@keplr-wallet/types";
import type { UseMutationResult } from "@tanstack/react-query";
import type { ReactNode } from "react";
import React from "react";
import type { CosmosWallet, Wallet } from "../types/wallet";
export interface ICosmosContextData {
    connectCosmos?: UseMutationResult<string | undefined, unknown, {
        chain: ChainData;
        wallet: CosmosWallet;
    }, unknown>;
    cosmosConnectedWallet?: Wallet;
    keplrTypeWallet?: Keplr;
    cosmosChainId?: string;
    isConnected?: boolean;
    onCosmosChainChange?: (chainId: string) => void;
    cosmosSigner?: OfflineSigner;
    cosmosAddress?: string;
    getCosmosAddressForChain: (chainId?: string) => Promise<string | undefined>;
}
export declare const CosmosContext: React.Context<ICosmosContextData>;
export declare const CosmosProvider: React.FC<{
    children?: ReactNode;
}>;
export declare function useCosmosContext(): ICosmosContextData;
