import { HttpClient } from 'aurelia-fetch-client';
import { TaskQueue } from 'aurelia-framework';
import { Router } from 'aurelia-router';
import { Config } from '../../config';
import { Editor, RawEditorOptions } from 'tinymce';
interface BlobInfo {
    id: () => string;
    name: () => string;
    filename: () => string;
    blob: () => Blob;
    base64: () => string;
    blobUri: () => string;
    uri: () => string | undefined;
}
export declare class TinyMce {
    private element;
    private taskQueue;
    private config;
    private httpClient;
    theme: "silver" | "modern" | "mobile" | "inlite";
    inline: boolean;
    content: string;
    readonly: boolean;
    options: RawEditorOptions;
    imageFolderName: string;
    editorId: string;
    editorInstance: Editor;
    isDestroying: boolean;
    constructor(element: Element, taskQueue: TaskQueue, router: Router, config: Config, httpClient: HttpClient);
    bind(): void;
    attached(): void;
    detached(): void;
    private setBaseUrl;
    setEditorId(): void;
    contentChanged(value: string): void;
    setContent(value: string): void;
    getContent(): string;
    readonlyChanged(readonly: boolean): void;
    images_upload_handler: (blobInfo: BlobInfo) => Promise<string>;
}
export {};
