import { ElementRef } from '@angular/core'; import * as i0 from "@angular/core"; /** * File upload context. */ export declare class KbqFileUploadContext { /** id for file input */ readonly id: import("@angular/core").InputSignal; /** Whether file input selectable or not */ readonly disabled: import("@angular/core").ModelSignal; /** Selection mode for file input */ readonly multiple: import("@angular/core").InputSignalWithTransform; /** File type specifiers */ readonly accept: import("@angular/core").InputSignal; /** * Reflects webkitdirectory attribute, which indicates that elements can only select directories instead of files. */ readonly onlyDirectory: import("@angular/core").InputSignal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Loader component to trigger Browser API. */ export declare class KbqFileLoader { private fileUploadContext; /** Whether file input selectable or not */ readonly disabled: import("@angular/core").InputSignal; /** Selection mode for file input */ readonly multiple: import("@angular/core").InputSignal; /** File type specifiers */ readonly accept: import("@angular/core").InputSignal; /** id for file input */ readonly for: import("@angular/core").InputSignal; /** * Reflects webkitdirectory attribute, * which indicates that elements can only select directories instead of files. * @link [`HTMLInputElement: webkitdirectory property`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory) */ readonly onlyDirectory: import("@angular/core").InputSignal; /** Event fires when file selected in file-picker. */ readonly fileChange: import("@angular/core").OutputEmitterRef; /** Underlying file input element */ readonly input: import("@angular/core").Signal>; /** @docs-private */ protected readonly innerDisabled: import("@angular/core").Signal; /** @docs-private */ protected readonly innerMultiple: import("@angular/core").Signal; /** @docs-private */ protected readonly innerAccept: import("@angular/core").Signal; /** @docs-private */ protected readonly innerFor: import("@angular/core").Signal; /** @docs-private */ protected readonly innerOnlyDirectory: import("@angular/core").Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Responsible for list update (add/remove) */ export declare class KbqFileList { /** Current list of items. */ readonly list: import("@angular/core").ModelSignal; /** * 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 itemRemoved: import("@angular/core").OutputEmitterRef<[T, number]>; /** Emits array of items that were added to the list. */ readonly itemsAdded: import("@angular/core").OutputEmitterRef; /** Adds a single item to the list and emits event */ add(item: T): void; /** Adds multiple items to the list and emits event */ addArray(items: T[]): void; /** Removes the first occurrence of the specified item. Returns removed items and emits event. */ remove(item: T): T[]; /** Removes item at specified index. Returns removed items and emits event. */ removeAt(index: number): T[]; private update; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "[kbqFileList]", ["kbqFileList"], { "list": { "alias": "list"; "required": false; "isSignal": true; }; }, { "list": "listChange"; "itemRemoved": "itemRemoved"; "itemsAdded": "itemsAdded"; }, never, never, true, never>; }