import type { WithNormalizedProps } from "../../global";
export interface FileInputEvent {
    files: FileList;
    originalEvent: Event;
}
interface FileInputInput extends Omit<Marko.HTML.Input, `on${string}` | "type"> {
    renderBody?: Marko.Body;
    header?: Marko.AttrTag<Marko.Input<`h${number}`> & {
        as?: `h${number}`;
    }>;
    subheader?: Marko.AttrTag<Marko.HTML.Span>;
    "on-input"?: (event: FileInputEvent) => void;
}
export interface Input extends WithNormalizedProps<FileInputInput> {
}
export interface State {
    dragging: boolean;
}
declare class FileUploadInput extends Marko.Component<Input, State> {
    onCreate(): void;
    handleFileChange(event: Event): void;
    handleDragOver(): void;
    handleDragLeave(): void;
}
export default FileUploadInput;
