import { HttpClient } from '@angular/common/http';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { AbstractControl, FormControl } from '@angular/forms';
import { SubscriptSizing } from '@angular/material/form-field';
import { DomSanitizer } from '@angular/platform-browser';
import { UrlTransformerService } from '@aztrix/environment';
import { Configuration } from '@aztrix/sdk';
import { ReplaySubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare const FILE_TYPES: string[];
export declare class FileValueEditComponent implements OnInit, OnChanges, OnDestroy {
    private _http;
    private _urlTransformer;
    private _sanitizer;
    private _changeDetector;
    private _configuration;
    fileControl: FormControl;
    nameControl?: FormControl;
    label: string;
    hint?: string;
    acceptTypes: string[];
    maxFileSize: number;
    uploadLink: string;
    required: boolean;
    preview: boolean;
    previewUrl: string;
    demo: boolean;
    readonly: boolean;
    subscriptSizing: SubscriptSizing;
    clearedValue: EventEmitter<boolean>;
    uploadedFile: EventEmitter<boolean>;
    fileSelect: ElementRef;
    uploading: boolean;
    error: boolean;
    fileControl$: ReplaySubject<AbstractControl<any, any>>;
    key$: import("rxjs").Observable<any>;
    source$: import("rxjs").Observable<string>;
    demoUrlObject: string;
    constructor(_http: HttpClient, _urlTransformer: UrlTransformerService, _sanitizer: DomSanitizer, _changeDetector: ChangeDetectorRef, _configuration: Configuration);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    selectFile(): void;
    fileSelected(event: Event): void;
    clearValue(event: MouseEvent): void;
    get fileSizeError(): any;
    get fileTypeError(): any;
    get fileUploadFailed(): any;
    get requiredError(): any;
    get types(): string;
    get accept(): string;
    get empty(): boolean;
    get demoUrl(): import("@angular/platform-browser").SafeUrl;
    get hasError(): boolean | undefined;
    toByteNotation(size: number): string;
    private _maxFileSizeExceeded;
    private _fileTypeValidator;
    static ɵfac: i0.ɵɵFactoryDeclaration<FileValueEditComponent, [null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FileValueEditComponent, "ax-file-value-edit", never, { "fileControl": { "alias": "fileControl"; "required": false; }; "nameControl": { "alias": "nameControl"; "required": false; }; "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "acceptTypes": { "alias": "acceptTypes"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "uploadLink": { "alias": "uploadLink"; "required": false; }; "required": { "alias": "required"; "required": false; }; "preview": { "alias": "preview"; "required": false; }; "previewUrl": { "alias": "previewUrl"; "required": false; }; "demo": { "alias": "demo"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; }, { "clearedValue": "clearedValue"; "uploadedFile": "uploadedFile"; }, never, never, false, never>;
}
