/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnDestroy, Renderer2, ElementRef, NgZone, OnInit, ChangeDetectorRef, Injector, EventEmitter } from "@angular/core";
import { FileRestrictions, FileInfo } from './types';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { UploadService } from './upload.service';
import { Direction } from './types/direction';
import { NavigationService } from './navigation.service';
import { DropZoneService } from './dropzone.service';
import { UploadFileSelectBase } from "./common/base";
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare const FILESELECT_VALUE_ACCESSOR: any;
export declare class FileSelectComponent extends UploadFileSelectBase implements OnInit, OnDestroy {
    protected uploadService: UploadService;
    private localization;
    protected navigation: NavigationService;
    private dropZoneService;
    protected ngZone: NgZone;
    private renderer;
    protected cdr: ChangeDetectorRef;
    protected injector: Injector;
    fileSelectInput: ElementRef;
    get dir(): string;
    /**
     * Sets the `name` attribute of the `input` element of the FileSelect.
     */
    set name(name: string);
    get name(): string;
    /**
     * Fires when the value of the component has changed as a result of a successful `select` or `remove` operation.
     */
    valueChange: EventEmitter<Array<File>>;
    /**
     * @hidden
     */
    _restrictions: FileRestrictions;
    direction: Direction;
    wrapper: HTMLElement;
    fileListId: string;
    private documentClick;
    private blurSubscription;
    private wrapperFocusSubscription;
    private selectButtonFocusSubscription;
    private localizationChangeSubscription;
    private subs;
    constructor(uploadService: UploadService, localization: LocalizationService, navigation: NavigationService, dropZoneService: DropZoneService, ngZone: NgZone, renderer: Renderer2, cdr: ChangeDetectorRef, wrapper: ElementRef, injector: Injector);
    ngOnInit(): void;
    /**
     * @hidden
     */
    textFor(key: string): string;
    ngOnDestroy(): void;
    /**
     * Removes specific file from the file list.
     */
    removeFileByUid(uid: string): void;
    /**
     * Visually clears all files from the UI.
     */
    clearFiles(): void;
    /**
     * @hidden
     * Used to determine if the component is empty.
     */
    isEmpty(): boolean;
    /**
     * @hidden
     * Used by the external dropzone to add files to the FileSelect
     */
    addFiles(files: FileInfo[]): void;
    /**
     * @hidden
     */
    get selectButtonTabIndex(): number;
    /**
     * @hidden
     */
    getIds(): {
        buttonId: string;
        fileListId: string;
    };
    /**
     * @hidden
     */
    writeValue(newValue: any): void;
    private subscribeBlur;
    private subscribeFocus;
    private handleKeydown;
    private attachEventHandlers;
    private setDefaultSettings;
    static ɵfac: i0.ɵɵFactoryDeclaration<FileSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FileSelectComponent, "kendo-fileselect", ["kendoFileSelect"], { "name": { "alias": "name"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
}
