import { IEventEmitter } from '@breadstone/mosaik-elements'; import type { IFilesPickedEventDetail } from '../../../events'; import { CustomElement } from '../../Abstracts/CustomElement'; import type { IFilePickerElementProps } from './IFilePickerElementProps'; declare const FilePickerElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * File Picker - A user interface component that allows users to select files from their device. * * @description * The FilePicker component provides a simple and accessible way for users to browse and select files, * either through a native file dialog or via drag-and-drop integration. It is commonly used in forms, * upload flows, and content management systems where files such as images, documents, or media need * to be added by the user. * * FilePicker ensures accessibility and consistency across browsers while offering customization options * for styling and behavior. Developers can listen to emitted events to handle picked files and integrate * them seamlessly into application logic. * * @element mosaik-file-picker * @category Input * * @slot - The default slot for custom trigger content (e.g., a button or icon). * * @fires filesPicked {FilesPickedEvent} - Fired when one or multiple files are selected by the user. * * @example * ```html * * * * ``` * * @public */ export declare class FilePickerElement extends FilePickerElement_base implements IFilePickerElementProps { private readonly _filesPicked; private _fileElement; private _multiple; private _accept; private _directory; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `multiple` property. * * @public * @attr */ get multiple(): boolean; set multiple(value: boolean); /** * Gets or sets the `accept` property. * * @public */ get accept(): Array; set accept(value: Array); /** * Gets or sets the `directory` property. * * @public * @attr */ get directory(): boolean; set directory(value: boolean); /** * Called when files are picked. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get filesPicked(): IEventEmitter; /** * @public */ pick(): void; /** * @private * @template */ onFileChange(e: Event): void; /** * @private * @template */ onSlotChange(e: Event): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * Emits the `filesPicked` event. * * @protected */ protected onFilesPicked(args: IFilesPickedEventDetail): void; } /** * @public */ export declare namespace FilePickerElement { type Props = IFilePickerElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-file-picker': FilePickerElement; } } export {}; //# sourceMappingURL=FilePickerElement.d.ts.map