import type { EventCallback, EventValueOrEventCallback } from '../callbacks';
import type { Events } from '../../enums';
export declare const inputTypeOnOffOptions: readonly ["on", "off"];
export type InputTypeOnOff = (typeof inputTypeOnOffOptions)[number];
type InputTypeOnBlur = {
    [Events.onBlur]?: EventCallback<Event>;
};
type InputTypeOnClick = {
    [Events.onClick]?: EventCallback<Event>;
};
type InputTypeOnChange = {
    [Events.onChange]?: EventValueOrEventCallback<Event, unknown>;
};
type InputTypeOnFocus = {
    [Events.onFocus]?: EventCallback<Event>;
};
type InputTypeOnInput = {
    [Events.onInput]?: EventValueOrEventCallback<Event, unknown>;
};
export type Option<T> = {
    disabled?: boolean;
    label: string | number;
    value: T;
};
export type RadioOption<T> = Option<T> & {
    hint?: string;
};
export type Optgroup<T> = {
    disabled?: boolean;
    label: string;
    options: Option<T>[];
};
export type SelectOption<T> = Option<T> | Optgroup<T> | RadioOption<T>;
export type InputTypeOnDefault = InputTypeOnBlur & InputTypeOnClick & InputTypeOnChange & InputTypeOnFocus & InputTypeOnInput;
export {};
