import { ReplaySubject, Observable } from 'rxjs';
import { ImageEditorFeature, CustomImageEditorFeature } from '../models/image-editor-feature.model';
export declare class EditableImageService {
    protected editor: {
        [feature: string]: ImageEditorFeature;
    };
    context: CanvasRenderingContext2D;
    canvas: HTMLCanvasElement;
    image: HTMLImageElement;
    protected dataURL: string;
    protected blob: Blob;
    protected imageLoaded: ReplaySubject<any>;
    protected name: string;
    constructor(data: Blob | File, editor: {
        [feature: string]: ImageEditorFeature;
    });
    get ready(): Observable<any>;
    apply(feature: string, ...args: Array<any>): EditableImageService;
    applyCustom(fn: CustomImageEditorFeature): this;
    getDataURL(type?: string, quality?: number): string;
    getBlob(type?: string, quality?: number): Blob;
}
