import { Checkout, EIP6963ProviderInfo, WrappedBrowserProvider } from '@imtbl/checkout-sdk'; export interface ProvidersState { fromProvider?: WrappedBrowserProvider; fromProviderInfo?: EIP6963ProviderInfo; fromAddress?: string; toProvider?: WrappedBrowserProvider; toProviderInfo?: EIP6963ProviderInfo; toAddress?: string; checkout: Checkout; lockedToProvider?: boolean; } export declare const initialProvidersState: ProvidersState; export interface ProvidersContextState { providersState: ProvidersState; providersDispatch: React.Dispatch; } export interface ProvidersContextAction { payload: ProvidersContextActionPayload; } type ProvidersContextActionPayload = SetProviderPayload | SetCheckoutPayload | ResetStatePayload | SetLockedToProviderPayload; export declare enum ProvidersContextActions { SET_PROVIDER = "SET_PROVIDER", SET_CHECKOUT = "SET_CHECKOUT", RESET_STATE = "RESET_STATE", SET_LOCKED_TO_PROVIDER = "SET_LOCKED_TO_PROVIDER" } export interface SetProviderPayload { type: ProvidersContextActions.SET_PROVIDER; fromProvider?: WrappedBrowserProvider; fromProviderInfo?: EIP6963ProviderInfo; fromAddress?: string; toProvider?: WrappedBrowserProvider; toProviderInfo?: EIP6963ProviderInfo; toAddress?: string; } export interface SetCheckoutPayload { type: ProvidersContextActions.SET_CHECKOUT; checkout: Checkout; } export interface ResetStatePayload { type: ProvidersContextActions.RESET_STATE; fromProvider?: WrappedBrowserProvider; toProvider?: WrappedBrowserProvider; checkout: Checkout; } export interface SetLockedToProviderPayload { type: ProvidersContextActions.SET_LOCKED_TO_PROVIDER; lockedToProvider: boolean; } export declare const ProvidersContext: import("react").Context; export type Reducer = (prevState: S, action: A) => S; export declare const providersContextReducer: Reducer; export declare const useProvidersReducer: (initialState?: ProvidersState) => readonly [ProvidersState, import("react").Dispatch]; export declare function ProvidersContextProvider({ children, initialState, }: { children: React.ReactNode; initialState: ProvidersState; }): import("@emotion/react/jsx-runtime").JSX.Element; export declare const useProvidersContext: () => ProvidersContextState; export {};