import { OnInit } from '@angular/core';
import { AbstractControl, NgControl } from '@angular/forms';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export type SdsFileSizeType = {
    [fileName: string]: string;
};
export declare class SdsFileUploaderControlDirective implements OnInit {
    private ngControl;
    classFormControl: boolean;
    type: string;
    id?: string;
    control: AbstractControl;
    required: boolean;
    private _files;
    get files$(): Observable<SdsFileSizeType | undefined>;
    constructor(ngControl: NgControl, isRequired: any);
    ngOnInit(): void;
    onChange(data: File[]): void;
    reset(): void;
    private formatFileSize;
    /**
     * Check if input is required by setting `required` directive or validator
     */
    private setRequired;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdsFileUploaderControlDirective, [{ optional: true; host: true; }, { attribute: "required"; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdsFileUploaderControlDirective, "input[sdsFileUploaderControl]", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, never, false, never>;
}
