import { EventAction, DataContext } from '../types'; /** * Event callback function type */ export type EventCallback = (action: EventAction, event: React.SyntheticEvent, componentId: string) => void; /** * Custom action handler type */ export type CustomActionHandler = (handler: string, params: Record | undefined, event: React.SyntheticEvent, componentId: string) => void; /** * Navigate action handler type */ export type NavigateHandler = (url: string) => void; /** * Submit action handler type */ export type SubmitHandler = (endpoint: string | undefined, event: React.SyntheticEvent) => void; /** * Update action handler type */ export type UpdateHandler = (path: string, value: unknown) => void; /** * Toggle action handler type */ export type ToggleHandler = (path: string) => void; /** * Event handler configuration */ export interface EventHandlerConfig { /** Handler for navigate actions */ onNavigate?: NavigateHandler; /** Handler for submit actions */ onSubmit?: SubmitHandler; /** Handler for update actions */ onUpdate?: UpdateHandler; /** Handler for toggle actions */ onToggle?: ToggleHandler; /** Handler for custom actions */ onCustom?: CustomActionHandler; } /** * Create an event callback from configuration * * @param config - Event handler configuration * @returns Event callback function */ export declare function createEventCallback(config: EventHandlerConfig): EventCallback; /** * Default navigate handler using window.location */ export declare const defaultNavigateHandler: NavigateHandler; /** * Create a state update handler for React state * * @param setState - React setState function * @returns Update handler function */ export declare function createStateUpdateHandler(setState: React.Dispatch>): UpdateHandler; /** * Create a state toggle handler for React state * * @param setState - React setState function * @returns Toggle handler function */ export declare function createStateToggleHandler(setState: React.Dispatch>): ToggleHandler; /** * Extract event type from React event name * e.g., 'onClick' -> 'click', 'onChange' -> 'change' */ export declare function extractEventType(eventName: string): string; /** * Convert event type to React event handler name * e.g., 'click' -> 'onClick', 'change' -> 'onChange' */ export declare function toReactEventName(eventType: string): string; //# sourceMappingURL=event-handler.d.ts.map