import { FocusOrigin } from '@angular/cdk/a11y'; import { AfterViewInit, DoCheck, ElementRef, EventEmitter, QueryList, TemplateRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { ErrorStateMatcher, KbqMultipleFileUploadLocaleConfig } from '@koobiq/components/core'; import { ProgressSpinnerMode } from '@koobiq/components/progress-spinner'; import { KbqFile, KbqFileItem, KbqFileUploadBase, KbqFileUploadCaptionContext, KbqFileValidatorFn } from './file-upload'; import { KbqFileLoader } from './primitives'; import * as i0 from "@angular/core"; import * as i1 from "./primitives/file-picker"; export interface KbqInputFileMultipleLabel extends KbqMultipleFileUploadLocaleConfig { [k: string | number | symbol]: unknown; } export declare const KBQ_MULTIPLE_FILE_UPLOAD_DEFAULT_CONFIGURATION: KbqMultipleFileUploadLocaleConfig; export declare class KbqMultipleFileUploadComponent extends KbqFileUploadBase implements AfterViewInit, ControlValueAccessor, DoCheck { /** * A value responsible for progress spinner type. * Loading logic depends on selected mode */ progressMode: ProgressSpinnerMode; /** Array of file type specifiers */ accept?: string[]; /** * @deprecated use `FormControl.errors` */ errors: string[]; size: 'compact' | 'default'; /** * custom ID for the file input element. */ inputId: string; /** * @deprecated use FormControl for validation */ customValidation?: KbqFileValidatorFn[]; /** An object used to control the error state of the component. */ errorStateMatcher: ErrorStateMatcher; get files(): KbqFileItem[]; set files(currentFileList: KbqFileItem[]); /** * Determines which kind of items the upload component can accept. * @default mixed */ allowed: import("@angular/core").InputSignal<"file" | "folder" | "mixed">; /** * Controls whether to display fullscreen dropzone. * Provide configuration object to enable, or undefined to disable. */ fullScreenDropZone: import("@angular/core").InputSignal | undefined>; /** Optional configuration to override default labels with localized text.*/ readonly localeConfig: import("@angular/core").InputSignal | undefined>; /** Emits an event containing updated file list. * public output will be renamed to filesChange in next major release (#DS-3700) */ readonly filesChange: EventEmitter; /** * Emits an event containing a chunk of files added to the file list. * Useful when handling added files, skipping filtering file list. */ readonly filesAdded: EventEmitter; /** * Emits an event containing a tuple of file and file's index when removed from the file list. * Useful when handle removed files, skipping filtering file list. */ readonly fileRemoved: EventEmitter<[KbqFileItem, number]>; /** File Icon Template */ protected readonly customFileIcon: TemplateRef; protected readonly fileLoader: KbqFileLoader | undefined; /** @docs-private */ protected readonly hint: QueryList>; /** @docs-private */ hasFocus: boolean; /** @docs-private */ readonly resolvedLocaleConfig: import("@angular/core").Signal; /** @docs-private */ protected readonly captionContext: import("@angular/core").Signal; /** cvaOnChange function registered via registerOnChange (ControlValueAccessor). * @docs-private */ cvaOnChange: (_: KbqFileItem[]) => void; /** onTouch function registered via registerOnTouch (ControlValueAccessor). * @docs-private */ onTouched: () => void; /** @docs-private */ get input(): ElementRef | undefined; /** @docs-private */ get acceptedFiles(): string; /** * @deprecated use `FormControl.errors` */ get hasErrors(): boolean; /** @docs-private */ get hasHint(): boolean; /** * Indicates an invalid state based on `errorState`, * applying a CSS class in HTML for visual feedback. * @docs-private */ get invalid(): boolean; /** @docs-private */ protected get captionTextWhenSelected(): string; /** @docs-private */ readonly configuration: KbqMultipleFileUploadLocaleConfig | null; private readonly localeId; private readonly focusMonitor; private readonly platformId; constructor(); ngDoCheck(): void; ngAfterViewInit(): void; /** Implemented as part of ControlValueAccessor. * @docs-private */ writeValue(files: FileList | KbqFileItem[] | null): void; /** Implemented as part of ControlValueAccessor. * @docs-private */ registerOnChange(fn: any): void; /** Implemented as part of ControlValueAccessor. * @docs-private */ registerOnTouched(fn: any): void; /** * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor. * @param isDisabled Whether the control should be disabled. * @docs-private */ setDisabledState(isDisabled: boolean): void; /** @docs-private */ onFileSelectedViaClick({ target }: Event): void; /** @docs-private */ onFileDropped(files: KbqFile[]): void; /** @docs-private */ deleteFile(index: number, event?: MouseEvent, origin?: FocusOrigin): void; private mapToFileItem; private validateFile; private onFileAdded; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }