import { InjectionToken } from "@angular/core";
import { ToolBarItem } from "../toolbar-items";

export declare var EDITOR_CONFIG_TOKEN: InjectionToken<string>;

/**
 * A provider used for configuring the editor.
 */
export interface EditorConfigProvider {
    /**
     * Returns an array of tool bar items.
     * @param editorHost The element containing the html editor.
     * Example how to get the editor: editorHost.getKendoEditor();
     */
    getToolBarItems(editorHost: any): ToolBarItem[];

    /**
     * Returns an array of item's names to be removed from the toolbar.
     */
    getToolBarItemsNamesToRemove(): string[];

    /**
     * Modifies the editor configuration.
     * @param editorHost The current editor configuration.
     * Returns the modified configuration.
     */
    configureEditor(configuration: any): any;
}
