import { AracnaFile, type DeserializeFileOptions } from '@aracna/core'; import { type CSSResultGroup, type PropertyDeclarations } from 'lit'; import { ElementSlug } from '../../definitions/enums.js'; import type { InputFileClearElementEventMap, InputFileElementEventMap, InputFileRemoveElementEventMap } from '../../definitions/events.js'; import type { QueryDeclarations } from '../../definitions/interfaces.js'; import { AracnaBaseElement as BaseElement } from '../core/base-element.js'; import { AracnaFormControlElement as FormControlElement } from '../core/form-control-element.js'; declare global { interface HTMLElementTagNameMap { 'aracna-input-file': InputFileElement; 'aracna-input-file-clear': InputFileClearElement; 'aracna-input-file-remove': InputFileRemoveElement; } } declare class InputFileElement extends FormControlElement { /** * Properties */ /** */ deserializeFileResolveArrayBuffer?: boolean; deserializeFileResolveText?: boolean; multiple?: boolean; placeholder?: string; /** * Queries */ /** */ inputElement?: HTMLInputElement; connectedCallback(): void; attributeChangedCallback(name: string, _old: string | null, value: string | null): void; disconnectedCallback(): void; setInputElementAttributes: () => void; blur(): void; focus(options?: FocusOptions): void; onChange: () => Promise; removeFile(file: AracnaFile): void; open: () => void; clear: () => void; get deserializeFileOptions(): DeserializeFileOptions; get slug(): ElementSlug; get file(): AracnaFile | undefined; get files(): AracnaFile[]; get single(): boolean; get value(): AracnaFile | AracnaFile[] | undefined; set value(value: AracnaFile | AracnaFile[] | undefined); get isFilesEmpty(): boolean; get isFilesNotEmpty(): boolean; static properties: PropertyDeclarations; static queries: QueryDeclarations; static styles: CSSResultGroup; } declare class InputFileRemoveElement extends BaseElement { /** * Properties */ /** */ file?: AracnaFile; /** * Queries */ /** */ rootElement?: InputFileElement; connectedCallback(): void; disconnectedCallback(): void; onClick: () => void; get slug(): ElementSlug; static properties: PropertyDeclarations; static queries: QueryDeclarations; } declare class InputFileClearElement extends BaseElement { /** * Queries */ /** */ rootElement?: InputFileElement; connectedCallback(): void; disconnectedCallback(): void; onClick: () => void; get slug(): ElementSlug; static queries: QueryDeclarations; } export { InputFileClearElement as AracnaInputFileClearElement, InputFileElement as AracnaInputFileElement, InputFileRemoveElement as AracnaInputFileRemoveElement };