import type { WithNormalizedProps } from "../../global";
export interface Option extends Omit<Marko.HTML.Option, `on${string}`> {
    optgroup?: string;
    text?: string;
}
interface SelectInput extends Omit<Marko.HTML.Select, `on${string}`> {
    option?: Marko.AttrTag<Option>;
    "floating-label"?: string;
    "is-large"?: boolean;
    borderless?: boolean;
    "on-change"?: (event: {
        index: number;
        selected: string[];
        el: HTMLOptionElement;
    }) => void;
    "on-floating-label-init"?: () => void;
}
export interface Input extends WithNormalizedProps<SelectInput> {
}
export interface State {
    selectedIndex: number;
}
declare class Select extends Marko.Component<Input, State> {
    _floatingLabel: any;
    get selectId(): string;
    handleChange(event: Event | {
        target: {
            selectedIndex: number;
        };
    }): void;
    handleFloatingLabelInit(): void;
    onCreate(): void;
    onInput(input: Input): void;
    onMount(): void;
    onUpdate(): void;
    _setupMakeup(): void;
}
export default Select;
