import { JSX } from 'preact';
type FirstArgument<EventHandler extends ((...args: any) => any) | undefined> = Parameters<NonNullable<EventHandler>>[0];
export declare namespace EventHandler {
    type onBlur<Target extends EventTarget> = JSX.DOMAttributes<Target>['onBlur'];
    type onChange<Target extends EventTarget> = JSX.DOMAttributes<Target>['onChange'];
    type onClick<Target extends EventTarget> = JSX.DOMAttributes<Target>['onClick'];
    type onDragEnd<Target extends EventTarget> = JSX.DOMAttributes<Target>['onDragEnd'];
    type onDragEnter<Target extends EventTarget> = JSX.DOMAttributes<Target>['onDragEnter'];
    type onDragOver<Target extends EventTarget> = JSX.DOMAttributes<Target>['onDragOver'];
    type onDrop<Target extends EventTarget> = JSX.DOMAttributes<Target>['onDrop'];
    type onFocus<Target extends EventTarget> = JSX.DOMAttributes<Target>['onFocus'];
    type onInput<Target extends EventTarget> = JSX.DOMAttributes<Target>['onInput'];
    type onKeyDown<Target extends EventTarget> = JSX.DOMAttributes<Target>['onKeyDown'];
    type onMouseDown<Target extends EventTarget> = JSX.DOMAttributes<Target>['onMouseDown'];
    type onMouseMove<Target extends EventTarget> = JSX.DOMAttributes<Target>['onMouseMove'];
    type onMouseUp<Target extends EventTarget> = JSX.DOMAttributes<Target>['onMouseUp'];
    type onPaste<Target extends EventTarget> = JSX.DOMAttributes<Target>['onPaste'];
    type onSelectedFiles = (files: Array<File>) => void;
    type onValueChange<Value> = (value: Value) => void;
}
export declare namespace Event {
    type onBlur<Target extends EventTarget> = FirstArgument<EventHandler.onBlur<Target>>;
    type onChange<Target extends EventTarget> = FirstArgument<EventHandler.onChange<Target>>;
    type onClick<Target extends EventTarget> = FirstArgument<EventHandler.onClick<Target>>;
    type onDragEnd<Target extends EventTarget> = FirstArgument<EventHandler.onDragEnd<Target>>;
    type onDragEnter<Target extends EventTarget> = FirstArgument<EventHandler.onDragEnter<Target>>;
    type onDragOver<Target extends EventTarget> = FirstArgument<EventHandler.onDragOver<Target>>;
    type onDrop<Target extends EventTarget> = FirstArgument<EventHandler.onDrop<Target>>;
    type onFocus<Target extends EventTarget> = FirstArgument<EventHandler.onFocus<Target>>;
    type onInput<Target extends EventTarget> = FirstArgument<EventHandler.onInput<Target>>;
    type onKeyDown<Target extends EventTarget> = FirstArgument<EventHandler.onKeyDown<Target>>;
    type onMouseDown<Target extends EventTarget> = FirstArgument<EventHandler.onMouseDown<Target>>;
    type onMouseMove<Target extends EventTarget> = FirstArgument<EventHandler.onMouseMove<Target>>;
    type onMouseUp<Target extends EventTarget> = FirstArgument<EventHandler.onMouseUp<Target>>;
    type onPaste<Target extends EventTarget> = FirstArgument<EventHandler.onPaste<Target>>;
}
export {};
//# sourceMappingURL=event-handler.d.ts.map