import { RouteResponse } from "@0xsquid/squid-types";
import { SwapTransactionForStatus } from "../../core/types/transaction";
interface UseDepositTransactionStatusParams {
    transaction?: SwapTransactionForStatus;
    route?: RouteResponse["route"];
    retry?: number;
    refetchOnWindowFocus?: "always" | boolean;
    enabled?: boolean;
    /**
     * Called once the source deposit has been received, after the transaction has
     * been registered in the stores. The view uses it to navigate.
     */
    onReceived?: () => void;
}
/**
 * Tracks a generated deposit address before it becomes a persisted swap history item.
 *
 * Mirrors the hooks-first pattern of `useExecuteTransaction`: once the source deposit
 * is received, it registers the transaction in the transaction + history stores, then
 * signals the view (via `onReceived`) to navigate. The view never writes to the stores.
 */
export declare const useDepositTransactionStatus: ({ transaction, route, retry, refetchOnWindowFocus, enabled, onReceived, }: UseDepositTransactionStatusParams) => {
    transactionStatusQuery: import("@tanstack/react-query").UseQueryResult<import("@0xsquid/squid-types").StatusResponse, Error>;
};
export {};
