import { type CanvasEvents } from '../utils/CanvasEventBus';
type EventName = keyof CanvasEvents;
type EventPayload<T extends EventName> = CanvasEvents[T];
type EventCallback<T extends EventName> = (payload: EventPayload<T>) => void;
export declare function useCanvasEvent<T extends EventName>(eventName: T, callback: EventCallback<T>): void;
export declare function useCanvasEvents(): {
    emit: <T extends EventName>(eventName: T, payload: EventPayload<T>) => void;
    subscribe: <T extends EventName>(eventName: T, callback: EventCallback<T>) => () => void;
    eventBus: import("..").ICanvasEventBus;
};
export {};
//# sourceMappingURL=useCanvasEvents.d.ts.map