import { ComponentRef } from '@angular/core';
import { Subject } from 'rxjs';
import { ImageCropperComponent } from './image-cropper.component';
import * as i0 from "@angular/core";
export declare class ImageCropperService {
    private readonly _componentFactoryResolver;
    private readonly _appRef;
    private readonly _injector;
    activeCropper?: ActiveCropper;
    show(config?: ImageCropperConfig): void;
    private _configureInstance;
    private _destroy;
    static ɵfac: i0.ɵɵFactoryDeclaration<ImageCropperService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ImageCropperService>;
}
export interface ActiveCropper {
    componentRef?: ComponentRef<ImageCropperComponent>;
    ngUnsubscribe?: Subject<void>;
}
export interface ImageCropperConfig {
    id?: any;
    header?: string;
    cropLabel?: string;
    selectAnotherLabel?: string;
    removeLabel?: string;
    cancelLabel?: string;
    emptyStateTitle?: string;
    emptyStateActionLabel?: string;
    emptyStateIconClass?: string;
    aspectRatio?: number;
    rounded?: boolean;
    allowSelectAnother?: boolean;
    allowRemove?: boolean;
    allowCancel?: boolean;
    imageSource?: string;
    cancel?: () => any;
    changeImage?: () => any;
    removedImage?: () => any;
    croppedImage?: (imageSource: string) => any;
    croppedCanvas?: (imageSource: HTMLCanvasElement) => any;
}
