/**
 * Specifies  common models interfaces.
 *
 * @hidden

 */
import { EditorMode } from './types';
/**

 */
export interface IAdvanceListItem {
    listStyle?: string;
    listImage?: string;
    type?: string;
}
/**

 */
export interface IMarkdownFormatterCallBack {
    selectedText?: string;
    editorMode?: EditorMode;
    action?: string;
    event?: KeyboardEvent | MouseEvent;
    requestType?: string;
}
/**

 */
export interface IHtmlFormatterCallBack {
    selectedNode?: Element;
    requestType?: string;
    range?: Range;
    editorMode?: EditorMode;
    action?: string;
    elements?: Element | Element[];
    imgElem?: Element | Element[];
    event?: KeyboardEvent | MouseEvent;
}
/**

 */
export interface IMarkdownToolbarStatus {
    OrderedList: boolean;
    UnorderedList: boolean;
    Formats: string;
}
/**

 */
export interface IUndoCallBack {
    callBack?: Function;
    event?: Object;
}
/**

 */
export interface IToolbarStatus {
    bold?: boolean;
    italic?: boolean;
    underline?: boolean;
    strikethrough?: boolean;
    superscript?: boolean;
    subscript?: boolean;
    fontcolor?: string;
    fontname?: string;
    fontsize?: string;
    backgroundcolor?: string;
    formats?: string;
    alignments?: string;
    orderedlist?: boolean;
    unorderedlist?: boolean;
    inlinecode?: boolean;
    uppercase?: boolean;
    lowercase?: boolean;
    createlink?: boolean;
    insertcode?: boolean;
    blockquote?: boolean;
    numberFormatList?: string | boolean;
    bulletFormatList?: string | boolean;
    InlineCode?: boolean;
}
/**

 * @private
 *
 *
 * */
export interface IImageResizeFactor {
    topLeft: [number, number];
    topRight: [number, number];
    botLeft: [number, number];
    botRight: [number, number];
}
/**
 * The `ImageOrTableCursor` is used to specify the image or table cursor in Enter key Module.
 *
 * @private
 * @hidden
 *
 *
 * */
export interface ImageOrTableCursor {
    start: boolean;
    startName: string;
    end: boolean;
    endName: string;
    startNode?: HTMLElement;
    endNode?: HTMLElement;
}
/**
 * The `ImageDimension` is used to specify the width and height of the editor image.
 *
 * @private
 * @hidden
 */
export interface ImageDimension {
    width: number;
    height: number;
}
