import { HttpClient } from '@angular/common/http';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { AbstractControl } from '@angular/forms';
import { DomSanitizer } from '@angular/platform-browser';
import { UrlTransformerService } from '@aztrix/helpers';
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: AbstractControl;
    nameControl: AbstractControl;
    label: string;
    hint: string;
    acceptTypes: string[];
    maxFileSize: number;
    uploadLink: string;
    required: boolean;
    preview: boolean;
    previewUrl: string;
    demo: boolean;
    published: boolean;
    clearedValue: EventEmitter<boolean>;
    uploadedFile: EventEmitter<boolean>;
    fileSelect: ElementRef;
    hintElement: ElementRef;
    uploading: boolean;
    error: boolean;
    collapsed: boolean;
    overflowing: 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;
    toByteNotation(size: number): string;
    private _maxFileSizeExceeded;
    private _fileTypeValidator;
    isOverflowing(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<FileValueEditComponent, [null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FileValueEditComponent, "ax-file-value-edit", never, { "fileControl": "fileControl"; "nameControl": "nameControl"; "label": "label"; "hint": "hint"; "acceptTypes": "acceptTypes"; "maxFileSize": "maxFileSize"; "uploadLink": "uploadLink"; "required": "required"; "preview": "preview"; "previewUrl": "previewUrl"; "demo": "demo"; "published": "published"; }, { "clearedValue": "clearedValue"; "uploadedFile": "uploadedFile"; }, never, never, false, never>;
}
