import { RouteResponse } from '@0xsquid/squid-types';
import { Squid } from '@0xsquid/sdk';
import { TransactionReceipt } from 'ethers';
import { StatusResponse } from '@0xsquid/sdk/dist/types';
import { EIP6963ProviderInfo, WrappedBrowserProvider } from '@imtbl/checkout-sdk';
import { UserJourney } from '../../../context/analytics-provider/SegmentAnalyticsProvider';
export declare const useExecute: (userJourney: UserJourney, onTransactionError?: (err: unknown) => void) => {
    getAllowance: (provider: WrappedBrowserProvider, routeResponse: RouteResponse) => Promise<bigint | undefined>;
    approve: (fromProviderInfo: EIP6963ProviderInfo, provider: WrappedBrowserProvider, routeResponse: RouteResponse) => Promise<TransactionReceipt | undefined>;
    execute: (squid: Squid, fromProviderInfo: EIP6963ProviderInfo, provider: WrappedBrowserProvider, routeResponse: RouteResponse) => Promise<TransactionReceipt | undefined>;
    getStatus: (squid: Squid, transactionHash: string) => Promise<StatusResponse | undefined>;
};
