import type { ReactNode, VFC, RefObject } from 'react'; import type { OrderForm, QueueStatus } from './typings'; import type { CancellablePromiseLike } from './modules/SequentialTaskQueue'; declare type ListenFunction = (event: QueueStatus, callback: () => void) => () => void; export interface Context { enqueue: (task: () => Promise, id?: string) => CancellablePromiseLike; listen: ListenFunction; isWaiting: (id: string) => boolean; status: RefObject; } export interface OrderQueueProviderProps { children: ReactNode; } export declare const useQueueStatus: () => RefObject; export declare const OrderQueueProvider: VFC; export declare function useOrderQueue(): Context; export {}; //# sourceMappingURL=OrderQueue.d.ts.map