/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { IFilePickerAdapter } from './file-picker-adapter';
export interface IFilePickerFoundation extends ICustomElementFoundation {
    accept: string | null | undefined;
    maxSize: number | null | undefined;
    capture: string | null | undefined;
    multiple: boolean;
    disabled: boolean;
    compact: boolean;
    borderless: boolean;
}
export declare class FilePickerFoundation implements IFilePickerFoundation {
    private _adapter;
    private _isInitialized;
    private _accept;
    private _maxSize;
    private _capture;
    private _multiple;
    private _disabled;
    private _compact;
    private _borderless;
    private _buttonSlotListener;
    private _inputChangeListener;
    private _dragEnterListener;
    private _dragLeaveListener;
    private _dragOverListener;
    private _dropListener;
    constructor(_adapter: IFilePickerAdapter);
    initialize(): void;
    destroy(): void;
    private _onButtonSlotChanged;
    private _onInputChange;
    private _onDragEnter;
    private _onDragLeave;
    private _onDragOver;
    private _onDrop;
    private _registerDragListeners;
    private _removeDragListeners;
    private _handleFiles;
    private _sortFiles;
    private _handleDragEvent;
    /** Get and set the allowed file types */
    get accept(): string | null | undefined;
    set accept(value: string | null | undefined);
    /** Get and set the maximum allowed file size */
    get maxSize(): number | null | undefined;
    set maxSize(value: number | null | undefined);
    /** Get and set the camera to use when capturing video or images */
    get capture(): string | null | undefined;
    set capture(value: string | null | undefined);
    /** Get and set whether multiple files are allowed */
    get multiple(): boolean;
    set multiple(value: boolean);
    /** Get and set whether the file picker is disabled */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** Get and set whether the file picker is compact */
    get compact(): boolean;
    set compact(value: boolean);
    /** Get and set whether the file picker is borderless */
    get borderless(): boolean;
    set borderless(value: boolean);
}
