import { RETURN_TYPE_GAS_PRICES } from "@betswirl/sdk-core"; import { QueryParameter } from "../types/types"; type GetGasPriceResult = { detailedGasPrices: RETURN_TYPE_GAS_PRICES; optimalGasPrice: bigint; }; type UseGasPriceProps = { query?: QueryParameter; }; /** * Fetches current gas prices with network-specific optimizations. * Applies buffers to ensure transactions succeed during price fluctuations. * * @param props.query - Optional query settings (refetchInterval, enabled, etc.) * @returns Gas prices in wei for different speeds and recommended optimal price * @returns data.detailedGasPrices - Gas prices for normal (5% buffer), fast (20% buffer), instant (50% buffer) * @returns data.optimalGasPrice - Best gas price for current network (fast for Polygon/Avalanche, normal for others) * * @example * ```ts * const { data: gasPriceData } = useGasPrice() * console.log('Optimal gas price:', gasPriceData.optimalGasPrice) * ``` */ export declare function useGasPrice(props?: UseGasPriceProps): { error: Error; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/query-core").FetchStatus; promise: Promise; data: GetGasPriceResult; } | { error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: false; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/query-core").FetchStatus; promise: Promise; data: GetGasPriceResult; } | { error: Error; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/query-core").FetchStatus; promise: Promise; data: GetGasPriceResult; } | { error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/query-core").FetchStatus; promise: Promise; data: GetGasPriceResult; } | { error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/query-core").FetchStatus; promise: Promise; data: GetGasPriceResult; } | { isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/query-core").FetchStatus; promise: Promise; data: GetGasPriceResult; }; export {};