declare const _default: {};
export default _default;
declare type NonNullableValues<T> = {
    [P in keyof T]-?: NonNullable<T[P]>;
};
declare type EventOnListeners = NonNullableValues<Omit<GlobalEventHandlers, "addEventListener" | "removeEventListener" | "oninput" | "onchange">>;
declare type EventPropsWithThisElement<T> = {
    [P in keyof EventOnListeners]: Parameters<EventOnListeners[P]> extends [infer E] ? (this: T, event: E) => any | null : EventOnListeners[P];
};
declare global {
    interface InputEvent extends Event {
        target: HTMLInputElement | HTMLTextAreaElement;
    }
    interface ChangeEvent extends Event {
        target: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;
    }
    namespace JSX {
        interface HtmlProps<T extends HTMLElement = HTMLElement> extends Partial<EventPropsWithThisElement<T>> {
            oninput?: (this: T, event: InputEvent) => any;
            onchange?: (this: T, event: ChangeEvent) => any;
        }
    }
}
//# sourceMappingURL=declare-events.d.ts.map