import type { Config } from 'wagmi';
import { Token } from '../SwapForm';
import { QuoteResponse } from '../services/quoteService';
export interface UseWagmiIntegrationProps {
    token?: Token | null;
    config?: Config;
}
export interface UseWagmiIntegrationResult {
    balance: string;
    isLoading: boolean;
    isConnected: boolean;
    address?: string;
    chainId?: number;
    isWrongNetwork: boolean;
    switchToCorrectNetwork: () => void;
    checkAllowance: (spenderAddress: string) => Promise<string>;
    approveToken: (spenderAddress: string, amount: string) => Promise<boolean>;
    executeSwap: (fromToken: Token, toToken: Token, amount: string, quoteData?: QuoteResponse) => Promise<`0x${string}` | null>;
    wrapIP: (amount: string) => Promise<`0x${string}` | null>;
    unwrapWIP: (amount: string) => Promise<`0x${string}` | null>;
}
export declare function useWagmiIntegration({ token, config }?: UseWagmiIntegrationProps): UseWagmiIntegrationResult;
