import React, { ReactNode } from 'react'; import type { TransactionEvent, TransactionState } from '../types'; export type IEventsContext = { events: TransactionEvent[]; pushEvent: (e: Omit) => void; }; export declare const EventsContext: React.Context; export declare const EventsProvider: ({ children }: { children: ReactNode; }) => React.JSX.Element; export declare const useEvents: () => TransactionEvent[]; export declare const useLatestEvent: () => TransactionEvent; export declare const useAddEvent: () => (e: Omit) => void; declare function useOnEvent( /** Filter a specific type */ type: TransactionState, callback: (e: TransactionEvent) => any): void; declare function useOnEvent( /** Filter by specific types */ types: TransactionState[], callback: (e: TransactionEvent) => any): void; declare function useOnEvent(callback: (e: TransactionEvent) => any): void; export { useOnEvent };