/**
 * @license
 * Copyright ASW (A Software World) All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file
 */
import { HttpEvent } from '@angular/common/http';
import { ElementRef } from '@angular/core';
import { Observable } from 'rxjs';
export interface CustomClass {
    name: string;
    class: string;
    tag?: string;
}
export interface Font {
    name: string;
    class: string;
}
export interface UploadResponse {
    imageUrl: string;
}
export interface ElementDOM {
    elementDOM: ElementRef<HTMLElement>;
    /**
     *
     * @param id The id of the child element
     */
    getChildById(id: string): HTMLElement;
}
export interface AswEditorConfig {
    editable?: boolean;
    spellcheck?: boolean;
    height?: 'auto' | string;
    minHeight?: '0' | string;
    maxHeight?: 'auto' | string;
    width?: 'auto' | string;
    minWidth?: '0' | string;
    translate?: 'yes' | 'now' | string;
    enableToolbar?: boolean;
    showToolbar?: boolean;
    placeholder?: string;
    defaultParagraphSeparator?: string;
    defaultFontSize?: '1' | '2' | '3' | '4' | '5' | '6' | '7' | string;
    uploadUrl?: string;
    upload?: (file: File) => Observable<HttpEvent<UploadResponse>>;
    uploadWithCredentials?: boolean;
    customClasses?: CustomClass[];
    sanitize?: boolean;
    toolbarPosition?: 'top' | 'bottom';
    outline?: boolean;
    toolbarHiddenButtons?: string[][];
    rawPaste?: boolean;
}
export declare const aswEditorConfig: AswEditorConfig;
