import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
import { ImageCroppedEvent } from 'ngx-image-cropper';
import { Dialog } from '@angular/cdk/dialog';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { ImageUploadType } from './image-upload.types';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
export declare class ImageUploadComponent implements ControlValueAccessor, OnInit {
    private cdr;
    private dialog;
    control?: NgControl | undefined;
    static ngAcceptInputType_disabled: BooleanInput;
    private onChange?;
    private onTouched?;
    private _backgroundImage;
    private dialogRef?;
    private croppedImage;
    hoverLabel: string;
    type: ImageUploadType;
    aspectRatio: number;
    disabled: boolean;
    inputElm: ElementRef;
    get classes(): {
        [klass: string]: boolean;
    };
    get styles(): {
        'border-radius.%': number;
        'aspect-ratio': number;
        'background-image': string | null;
    };
    get backgroundImage(): string | null;
    get borderRadius(): 50 | 4;
    constructor(cdr: ChangeDetectorRef, dialog: Dialog, control?: NgControl | undefined);
    ngOnInit(): void;
    handleFileInput(event: unknown): void;
    private _keyPress;
    imageCropped: (event: ImageCroppedEvent) => void;
    save: () => void;
    writeValue(source: string): void;
    registerOnChange(onChange: (source: string | null) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    private _focusOut;
    static ɵfac: i0.ɵɵFactoryDeclaration<ImageUploadComponent, [null, null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ImageUploadComponent, "xui-image-upload", never, { "hoverLabel": { "alias": "hoverLabel"; "required": false; }; "type": { "alias": "type"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
}
