import { HttpClient } from '@angular/common/http';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { MatSnackBar } from '@angular/material/snack-bar';
import { OverlayService } from '@aztrix/components/overlay';
import { UrlTransformerService } from '@aztrix/environment';
import { TranslateService } from '@aztrix/helpers';
import { Configuration } from '@aztrix/sdk';
import { ImageCroppedEvent } from 'ngx-image-cropper';
import * as i0 from "@angular/core";
export declare class ImageSelectComponent implements OnChanges {
    private _changeDetector;
    private _urlTransformer;
    private _overlay;
    private _snackBar;
    private _translate;
    private _http;
    private _configuration;
    static _nextId: number;
    name: string;
    key: string;
    uploadLink: string;
    downloadLink: string;
    aspectRatio: number;
    roundCropper: boolean;
    resizeToHeight: number;
    uploaded: EventEmitter<string>;
    remove: EventEmitter<void>;
    fileInputElement: ElementRef;
    formats: string;
    loading: boolean;
    uploading: boolean;
    protected fileId: number;
    protected IMAGE_TYPES: string[];
    protected acceptedTypes: string[];
    protected accept: string;
    protected imageFile?: File;
    private _uploadedImage?;
    private _croppedImage?;
    constructor(_changeDetector: ChangeDetectorRef, _urlTransformer: UrlTransformerService, _overlay: OverlayService, _snackBar: MatSnackBar, _translate: TranslateService, _http: HttpClient, _configuration: Configuration);
    ngOnChanges(changes: SimpleChanges): void;
    protected fileSelected(event: Event): void;
    protected fileDragStart(event: DragEvent): void;
    protected fileDrop(event: DragEvent): void;
    protected upload(): void;
    protected imageCropped(event: ImageCroppedEvent): void;
    protected loadImageFailed(): void;
    protected clear(): void;
    protected get imageUrl(): string | undefined;
    private clearFileInput;
    private _fileSelected;
    static ɵfac: i0.ɵɵFactoryDeclaration<ImageSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ImageSelectComponent, "ax-image-select", never, { "name": { "alias": "name"; "required": false; }; "key": { "alias": "key"; "required": false; }; "uploadLink": { "alias": "uploadLink"; "required": false; }; "downloadLink": { "alias": "downloadLink"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "roundCropper": { "alias": "roundCropper"; "required": false; }; "resizeToHeight": { "alias": "resizeToHeight"; "required": false; }; }, { "uploaded": "uploaded"; "remove": "remove"; }, never, never, false, never>;
}
