/* eslint-disable */
/* tslint:disable */
/**
 * This is an autogenerated file created by the Stencil compiler.
 * It contains typing information for all components that exist in this project.
 */
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
import { ElementAction, } from "./models/element-action";
import { BlockElement, } from "./models/element";
import { ElementQuestion, } from "./models/element-question";
import { BlockLabels, ElementLabels, ModuleLabels, } from "./models/labels";
import { BlockLanguages, } from "./models/block-languages";
import { Block, } from "./models/block";
import { ValidatorError, } from "@bcase/core";
import { InputHandler, } from "./utils/input-handler";
import { AudioElement, } from "./components/bce-element/bce-element-audio/element-audio";
import { CheckboxElement, } from "./components/bce-element/bce-element-checkbox/element-checkbox";
import { DownloadElement, } from "./components/bce-element/bce-element-download/element-download";
import { HeaderElement, } from "./components/bce-element/bce-element-header/element-header";
import { IconElement, } from "./components/bce-element/bce-element-icon/element-icon";
import { ImageElement, } from "./components/bce-element/bce-element-image/element-image";
import { InputElement, } from "./components/bce-element/bce-element-input/element-input";
import { LinkElement, } from "./components/bce-element/bce-element-link/element-link";
import { MatrixElement, } from "./components/bce-element/bce-element-matrix/element-matrix";
import { RadioElement, } from "./components/bce-element/bce-element-radio/element-radio";
import { SliderElement, } from "./components/bce-element/bce-element-slider/element-slider";
import { SortElement, } from "./components/bce-element/bce-element-sort/element-sort";
import { TableElement, } from "./components/bce-element/bce-element-table/element-table";
import { TextElement, } from "./components/bce-element/bce-element-text/element-text";
import { VideoElement, } from "./components/bce-element/bce-element-video/element-video";
import { Module, ModuleFlow, } from "./models/module";
import { Reference, } from "./models/reference";
export namespace Components {
    interface BceBlockEditor {
        "addElement": (type: "audio" | "checkbox" | "download" | "header" | "icon" | "image" | "input" | "link" | "matrix" | "radio" | "slider" | "sort" | "table" | "text" | "video") => Promise<void>;
        "blacklist"?: string;
        "elementAction": ElementAction[];
        "elementQuestion": {
            [Type in BlockElement.Type]?: ElementQuestion[];
        };
        "getStoredFiles": () => Promise<string[]>;
        "label": BlockLabels;
        "languages": BlockLanguages;
        "metadata": (id: string, key: string, value?: any) => Promise<void>;
        "preview"?: boolean;
        "value": Block;
        "whitelist"?: string;
    }
    interface BceElement {
        "allowNull"?: boolean;
        "disabled"?: boolean;
        "language"?: string;
        "languages": BlockLanguages;
        "shuffle"?: boolean;
        "template": BlockElement;
        "type": BlockElement.Type;
        "validate": (silent?: boolean) => Promise<ValidatorError[]>;
        "value"?: any;
    }
    interface BceElementAudio {
        "handler": InputHandler;
        "language"?: string;
        "template": AudioElement;
    }
    interface BceElementAudioEditor {
        "handler": InputHandler;
        "label": AudioElement.Label;
        "language"?: string;
    }
    interface BceElementCheckbox {
        "disabled"?: boolean;
        "handler": InputHandler;
        "language"?: string;
        "shuffle"?: boolean;
        "template": CheckboxElement;
        "validate": (silent?: boolean) => Promise<import("/Users/ngfk/Repositories/bce-module-editor/node_modules/@bcase/core/dist/types/index").ValidatorError[]>;
        "value"?: {
            index: number;
            text: string;
        }[];
    }
    interface BceElementCheckboxEditor {
        "handler": InputHandler;
        "label": CheckboxElement.Label;
        "language"?: string;
        "value": CheckboxElement;
    }
    interface BceElementDownloadEditor {
        "handler": InputHandler;
        "label": DownloadElement.Label;
        "language"?: string;
    }
    interface BceElementEditor {
        "create": (path: string, el: any) => Promise<void>;
        "elementAction": ElementAction[];
        "elementQuestion": ElementQuestion[];
        "label": ElementLabels;
        "language"?: string;
        "languages": BlockLanguages;
        "name": string;
        "reattachMenu": () => Promise<void>;
        "value": BlockElement;
    }
    interface BceElementHeader {
        "handler": InputHandler;
        "language"?: string;
        "template": HeaderElement;
    }
    interface BceElementHeaderEditor {
        "handler": InputHandler;
        "label": HeaderElement.Label;
        "language"?: string;
    }
    interface BceElementIcon {
        "handler": InputHandler;
        "language"?: string;
        "template"?: IconElement;
        "validate": (silent?: boolean) => Promise<ValidatorError[]>;
        "value"?: number;
    }
    interface BceElementIconEditor {
        "handler": InputHandler;
        "label": IconElement.Label;
        "language"?: string;
    }
    interface BceElementImage {
        "handler": InputHandler;
        "language"?: string;
        "template": ImageElement;
    }
    interface BceElementImageEditor {
        "handler": InputHandler;
        "label": ImageElement.Label;
        "language"?: string;
    }
    interface BceElementInput {
        "handler": InputHandler;
        "language"?: string;
        "template": InputElement;
        "validate": (silent?: boolean) => Promise<import("/Users/ngfk/Repositories/bce-module-editor/node_modules/@bcase/core/dist/types/index").ValidatorError[]>;
        "value": string;
    }
    interface BceElementInputEditor {
        "handler": InputHandler;
        "label": InputElement.Label;
        "language"?: string;
        "value": InputElement;
    }
    interface BceElementLinkEditor {
        "handler": InputHandler;
        "label": LinkElement.Label;
        "language"?: string;
    }
    interface BceElementMatrix {
        "allowNull"?: boolean;
        "handler": InputHandler;
        "language"?: string;
        "template": MatrixElement;
        "validate": (silent?: boolean) => Promise<import("/Users/ngfk/Repositories/bce-module-editor/node_modules/@bcase/core/dist/types/index").ValidatorError[]>;
        "value": (number | null)[];
    }
    interface BceElementMatrixEditor {
        "handler": InputHandler;
        "label": MatrixElement.Label;
        "language"?: string;
        "tick"?: boolean;
    }
    interface BceElementRadio {
        "handler": InputHandler;
        "language"?: string;
        "template": RadioElement;
        "validate": (silent?: boolean) => Promise<import("/Users/ngfk/Repositories/bce-module-editor/node_modules/@bcase/core/dist/types/index").ValidatorError[]>;
        "value"?: {
            index: number;
            text: string;
        };
    }
    interface BceElementRadioEditor {
        "handler": InputHandler;
        "label": RadioElement.Label;
        "language"?: string;
    }
    interface BceElementSlider {
        "handler": InputHandler;
        "language"?: string;
        "template": SliderElement;
        "validate": (silent?: boolean) => Promise<import("/Users/ngfk/Repositories/bce-module-editor/node_modules/@bcase/core/dist/types/index").ValidatorError[]>;
        "value": any;
    }
    interface BceElementSliderEditor {
        "handler": InputHandler;
        "label": SliderElement.Label;
        "language"?: string;
    }
    interface BceElementSortEditor {
        "handler": InputHandler;
        "label": SortElement.Label;
        "language"?: string;
    }
    interface BceElementTableEditor {
        "handler": InputHandler;
        "label": TableElement.Label;
        "language"?: string;
    }
    interface BceElementText {
        "handler": InputHandler;
        "language"?: string;
        "template": TextElement;
    }
    interface BceElementTextEditor {
        "handler": InputHandler;
        "label": TextElement.Label;
        "language"?: string;
    }
    interface BceElementVideo {
        "handler": InputHandler;
        "language"?: string;
        "template"?: VideoElement;
    }
    interface BceElementVideoEditor {
        "handler": InputHandler;
        "label": VideoElement.Label;
        "language"?: string;
    }
    interface BceFlowEditor {
        "block": Block;
        "current": string;
        "currentVersion": string;
        "existing"?: string[];
        "labelActionAdd": string;
        "labelActionDelete": string;
        "labelActionEnd": string;
        "labelActionOpen": string;
        "labelConditionOther": string;
        "labelConditionScreen": string;
        "labelOptionConditional": string;
        "labelOptionEnd": string;
        "labelOptionNext": string;
        "labelSubtitle": string;
        "labelTitle": string;
        "value": ModuleFlow;
    }
    interface BceFlowGraph {
        "addBlock": (target: Reference) => Promise<void>;
        "current": string;
        "deleteBlock": (target: Reference) => Promise<void>;
        "editable": boolean;
        "existing"?: string[];
        "unlink": (source: string, target: string) => Promise<void>;
        "value": ModuleFlow;
    }
    interface BceModuleEditor {
        "categories": {
            value: string;
            label: string;
        }[];
        "create": (path: string, el: any) => Promise<void>;
        "existing"?: string[];
        "get": <T>(path: string, options?: InputHandler.GetOpts | undefined) => Promise<T>;
        "label": ModuleLabels;
        "set": <T>(path: string, value: T, options?: InputHandler.SetOpts | undefined) => Promise<T>;
        "value": Module;
    }
    interface BceOptionCreator {
        "addOption": (focus?: boolean) => Promise<void>;
        "allowColor"?: boolean;
        "allowImage"?: boolean;
        "allowOther"?: boolean;
        "focusLast": (nextTick?: boolean | undefined) => Promise<void>;
        "focusOption": (index: number, nextTick?: boolean) => Promise<void>;
        "label": BlockElement.LabelOptionCreator;
        "name"?: string;
        "other"?: boolean;
        "placeholder"?: string;
        "value": BlockElement.Option[];
    }
}
declare global {
    interface HTMLBceBlockEditorElement extends Components.BceBlockEditor, HTMLStencilElement {
    }
    var HTMLBceBlockEditorElement: {
        prototype: HTMLBceBlockEditorElement;
        new (): HTMLBceBlockEditorElement;
    };
    interface HTMLBceElementElement extends Components.BceElement, HTMLStencilElement {
    }
    var HTMLBceElementElement: {
        prototype: HTMLBceElementElement;
        new (): HTMLBceElementElement;
    };
    interface HTMLBceElementAudioElement extends Components.BceElementAudio, HTMLStencilElement {
    }
    var HTMLBceElementAudioElement: {
        prototype: HTMLBceElementAudioElement;
        new (): HTMLBceElementAudioElement;
    };
    interface HTMLBceElementAudioEditorElement extends Components.BceElementAudioEditor, HTMLStencilElement {
    }
    var HTMLBceElementAudioEditorElement: {
        prototype: HTMLBceElementAudioEditorElement;
        new (): HTMLBceElementAudioEditorElement;
    };
    interface HTMLBceElementCheckboxElement extends Components.BceElementCheckbox, HTMLStencilElement {
    }
    var HTMLBceElementCheckboxElement: {
        prototype: HTMLBceElementCheckboxElement;
        new (): HTMLBceElementCheckboxElement;
    };
    interface HTMLBceElementCheckboxEditorElement extends Components.BceElementCheckboxEditor, HTMLStencilElement {
    }
    var HTMLBceElementCheckboxEditorElement: {
        prototype: HTMLBceElementCheckboxEditorElement;
        new (): HTMLBceElementCheckboxEditorElement;
    };
    interface HTMLBceElementDownloadEditorElement extends Components.BceElementDownloadEditor, HTMLStencilElement {
    }
    var HTMLBceElementDownloadEditorElement: {
        prototype: HTMLBceElementDownloadEditorElement;
        new (): HTMLBceElementDownloadEditorElement;
    };
    interface HTMLBceElementEditorElement extends Components.BceElementEditor, HTMLStencilElement {
    }
    var HTMLBceElementEditorElement: {
        prototype: HTMLBceElementEditorElement;
        new (): HTMLBceElementEditorElement;
    };
    interface HTMLBceElementHeaderElement extends Components.BceElementHeader, HTMLStencilElement {
    }
    var HTMLBceElementHeaderElement: {
        prototype: HTMLBceElementHeaderElement;
        new (): HTMLBceElementHeaderElement;
    };
    interface HTMLBceElementHeaderEditorElement extends Components.BceElementHeaderEditor, HTMLStencilElement {
    }
    var HTMLBceElementHeaderEditorElement: {
        prototype: HTMLBceElementHeaderEditorElement;
        new (): HTMLBceElementHeaderEditorElement;
    };
    interface HTMLBceElementIconElement extends Components.BceElementIcon, HTMLStencilElement {
    }
    var HTMLBceElementIconElement: {
        prototype: HTMLBceElementIconElement;
        new (): HTMLBceElementIconElement;
    };
    interface HTMLBceElementIconEditorElement extends Components.BceElementIconEditor, HTMLStencilElement {
    }
    var HTMLBceElementIconEditorElement: {
        prototype: HTMLBceElementIconEditorElement;
        new (): HTMLBceElementIconEditorElement;
    };
    interface HTMLBceElementImageElement extends Components.BceElementImage, HTMLStencilElement {
    }
    var HTMLBceElementImageElement: {
        prototype: HTMLBceElementImageElement;
        new (): HTMLBceElementImageElement;
    };
    interface HTMLBceElementImageEditorElement extends Components.BceElementImageEditor, HTMLStencilElement {
    }
    var HTMLBceElementImageEditorElement: {
        prototype: HTMLBceElementImageEditorElement;
        new (): HTMLBceElementImageEditorElement;
    };
    interface HTMLBceElementInputElement extends Components.BceElementInput, HTMLStencilElement {
    }
    var HTMLBceElementInputElement: {
        prototype: HTMLBceElementInputElement;
        new (): HTMLBceElementInputElement;
    };
    interface HTMLBceElementInputEditorElement extends Components.BceElementInputEditor, HTMLStencilElement {
    }
    var HTMLBceElementInputEditorElement: {
        prototype: HTMLBceElementInputEditorElement;
        new (): HTMLBceElementInputEditorElement;
    };
    interface HTMLBceElementLinkEditorElement extends Components.BceElementLinkEditor, HTMLStencilElement {
    }
    var HTMLBceElementLinkEditorElement: {
        prototype: HTMLBceElementLinkEditorElement;
        new (): HTMLBceElementLinkEditorElement;
    };
    interface HTMLBceElementMatrixElement extends Components.BceElementMatrix, HTMLStencilElement {
    }
    var HTMLBceElementMatrixElement: {
        prototype: HTMLBceElementMatrixElement;
        new (): HTMLBceElementMatrixElement;
    };
    interface HTMLBceElementMatrixEditorElement extends Components.BceElementMatrixEditor, HTMLStencilElement {
    }
    var HTMLBceElementMatrixEditorElement: {
        prototype: HTMLBceElementMatrixEditorElement;
        new (): HTMLBceElementMatrixEditorElement;
    };
    interface HTMLBceElementRadioElement extends Components.BceElementRadio, HTMLStencilElement {
    }
    var HTMLBceElementRadioElement: {
        prototype: HTMLBceElementRadioElement;
        new (): HTMLBceElementRadioElement;
    };
    interface HTMLBceElementRadioEditorElement extends Components.BceElementRadioEditor, HTMLStencilElement {
    }
    var HTMLBceElementRadioEditorElement: {
        prototype: HTMLBceElementRadioEditorElement;
        new (): HTMLBceElementRadioEditorElement;
    };
    interface HTMLBceElementSliderElement extends Components.BceElementSlider, HTMLStencilElement {
    }
    var HTMLBceElementSliderElement: {
        prototype: HTMLBceElementSliderElement;
        new (): HTMLBceElementSliderElement;
    };
    interface HTMLBceElementSliderEditorElement extends Components.BceElementSliderEditor, HTMLStencilElement {
    }
    var HTMLBceElementSliderEditorElement: {
        prototype: HTMLBceElementSliderEditorElement;
        new (): HTMLBceElementSliderEditorElement;
    };
    interface HTMLBceElementSortEditorElement extends Components.BceElementSortEditor, HTMLStencilElement {
    }
    var HTMLBceElementSortEditorElement: {
        prototype: HTMLBceElementSortEditorElement;
        new (): HTMLBceElementSortEditorElement;
    };
    interface HTMLBceElementTableEditorElement extends Components.BceElementTableEditor, HTMLStencilElement {
    }
    var HTMLBceElementTableEditorElement: {
        prototype: HTMLBceElementTableEditorElement;
        new (): HTMLBceElementTableEditorElement;
    };
    interface HTMLBceElementTextElement extends Components.BceElementText, HTMLStencilElement {
    }
    var HTMLBceElementTextElement: {
        prototype: HTMLBceElementTextElement;
        new (): HTMLBceElementTextElement;
    };
    interface HTMLBceElementTextEditorElement extends Components.BceElementTextEditor, HTMLStencilElement {
    }
    var HTMLBceElementTextEditorElement: {
        prototype: HTMLBceElementTextEditorElement;
        new (): HTMLBceElementTextEditorElement;
    };
    interface HTMLBceElementVideoElement extends Components.BceElementVideo, HTMLStencilElement {
    }
    var HTMLBceElementVideoElement: {
        prototype: HTMLBceElementVideoElement;
        new (): HTMLBceElementVideoElement;
    };
    interface HTMLBceElementVideoEditorElement extends Components.BceElementVideoEditor, HTMLStencilElement {
    }
    var HTMLBceElementVideoEditorElement: {
        prototype: HTMLBceElementVideoEditorElement;
        new (): HTMLBceElementVideoEditorElement;
    };
    interface HTMLBceFlowEditorElement extends Components.BceFlowEditor, HTMLStencilElement {
    }
    var HTMLBceFlowEditorElement: {
        prototype: HTMLBceFlowEditorElement;
        new (): HTMLBceFlowEditorElement;
    };
    interface HTMLBceFlowGraphElement extends Components.BceFlowGraph, HTMLStencilElement {
    }
    var HTMLBceFlowGraphElement: {
        prototype: HTMLBceFlowGraphElement;
        new (): HTMLBceFlowGraphElement;
    };
    interface HTMLBceModuleEditorElement extends Components.BceModuleEditor, HTMLStencilElement {
    }
    var HTMLBceModuleEditorElement: {
        prototype: HTMLBceModuleEditorElement;
        new (): HTMLBceModuleEditorElement;
    };
    interface HTMLBceOptionCreatorElement extends Components.BceOptionCreator, HTMLStencilElement {
    }
    var HTMLBceOptionCreatorElement: {
        prototype: HTMLBceOptionCreatorElement;
        new (): HTMLBceOptionCreatorElement;
    };
    interface HTMLElementTagNameMap {
        "bce-block-editor": HTMLBceBlockEditorElement;
        "bce-element": HTMLBceElementElement;
        "bce-element-audio": HTMLBceElementAudioElement;
        "bce-element-audio-editor": HTMLBceElementAudioEditorElement;
        "bce-element-checkbox": HTMLBceElementCheckboxElement;
        "bce-element-checkbox-editor": HTMLBceElementCheckboxEditorElement;
        "bce-element-download-editor": HTMLBceElementDownloadEditorElement;
        "bce-element-editor": HTMLBceElementEditorElement;
        "bce-element-header": HTMLBceElementHeaderElement;
        "bce-element-header-editor": HTMLBceElementHeaderEditorElement;
        "bce-element-icon": HTMLBceElementIconElement;
        "bce-element-icon-editor": HTMLBceElementIconEditorElement;
        "bce-element-image": HTMLBceElementImageElement;
        "bce-element-image-editor": HTMLBceElementImageEditorElement;
        "bce-element-input": HTMLBceElementInputElement;
        "bce-element-input-editor": HTMLBceElementInputEditorElement;
        "bce-element-link-editor": HTMLBceElementLinkEditorElement;
        "bce-element-matrix": HTMLBceElementMatrixElement;
        "bce-element-matrix-editor": HTMLBceElementMatrixEditorElement;
        "bce-element-radio": HTMLBceElementRadioElement;
        "bce-element-radio-editor": HTMLBceElementRadioEditorElement;
        "bce-element-slider": HTMLBceElementSliderElement;
        "bce-element-slider-editor": HTMLBceElementSliderEditorElement;
        "bce-element-sort-editor": HTMLBceElementSortEditorElement;
        "bce-element-table-editor": HTMLBceElementTableEditorElement;
        "bce-element-text": HTMLBceElementTextElement;
        "bce-element-text-editor": HTMLBceElementTextEditorElement;
        "bce-element-video": HTMLBceElementVideoElement;
        "bce-element-video-editor": HTMLBceElementVideoEditorElement;
        "bce-flow-editor": HTMLBceFlowEditorElement;
        "bce-flow-graph": HTMLBceFlowGraphElement;
        "bce-module-editor": HTMLBceModuleEditorElement;
        "bce-option-creator": HTMLBceOptionCreatorElement;
    }
}
declare namespace LocalJSX {
    interface BceBlockEditor {
        "blacklist"?: string;
        "elementAction"?: ElementAction[];
        "elementQuestion"?: {
            [Type in BlockElement.Type]?: ElementQuestion[];
        };
        "label"?: BlockLabels;
        "languages"?: BlockLanguages;
        "preview"?: boolean;
        "value"?: Block;
        "whitelist"?: string;
    }
    interface BceElement {
        "allowNull"?: boolean;
        "disabled"?: boolean;
        "language"?: string;
        "languages"?: BlockLanguages;
        "shuffle"?: boolean;
        "template": BlockElement;
        "type": BlockElement.Type;
        "value"?: any;
    }
    interface BceElementAudio {
        "handler": InputHandler;
        "language"?: string;
        "template": AudioElement;
    }
    interface BceElementAudioEditor {
        "handler": InputHandler;
        "label"?: AudioElement.Label;
        "language"?: string;
    }
    interface BceElementCheckbox {
        "disabled"?: boolean;
        "handler": InputHandler;
        "language"?: string;
        "shuffle"?: boolean;
        "template": CheckboxElement;
        "value"?: {
            index: number;
            text: string;
        }[];
    }
    interface BceElementCheckboxEditor {
        "handler": InputHandler;
        "label"?: CheckboxElement.Label;
        "language"?: string;
        "value": CheckboxElement;
    }
    interface BceElementDownloadEditor {
        "handler": InputHandler;
        "label"?: DownloadElement.Label;
        "language"?: string;
    }
    interface BceElementEditor {
        "elementAction"?: ElementAction[];
        "elementQuestion"?: ElementQuestion[];
        "label"?: ElementLabels;
        "language"?: string;
        "languages"?: BlockLanguages;
        "name"?: string;
        "onDelete"?: (event: CustomEvent<any>) => void;
        "onDuplicate"?: (event: CustomEvent<any>) => void;
        "value": BlockElement;
    }
    interface BceElementHeader {
        "handler": InputHandler;
        "language"?: string;
        "template": HeaderElement;
    }
    interface BceElementHeaderEditor {
        "handler": InputHandler;
        "label"?: HeaderElement.Label;
        "language"?: string;
    }
    interface BceElementIcon {
        "handler": InputHandler;
        "language"?: string;
        "template"?: IconElement;
        "value"?: number;
    }
    interface BceElementIconEditor {
        "handler": InputHandler;
        "label"?: IconElement.Label;
        "language"?: string;
    }
    interface BceElementImage {
        "handler": InputHandler;
        "language"?: string;
        "template": ImageElement;
    }
    interface BceElementImageEditor {
        "handler": InputHandler;
        "label"?: ImageElement.Label;
        "language"?: string;
    }
    interface BceElementInput {
        "handler": InputHandler;
        "language"?: string;
        "template": InputElement;
        "value": string;
    }
    interface BceElementInputEditor {
        "handler": InputHandler;
        "label"?: InputElement.Label;
        "language"?: string;
        "value": InputElement;
    }
    interface BceElementLinkEditor {
        "handler": InputHandler;
        "label"?: LinkElement.Label;
        "language"?: string;
    }
    interface BceElementMatrix {
        "allowNull"?: boolean;
        "handler": InputHandler;
        "language"?: string;
        "template": MatrixElement;
        "value"?: (number | null)[];
    }
    interface BceElementMatrixEditor {
        "handler": InputHandler;
        "label"?: MatrixElement.Label;
        "language"?: string;
        "tick"?: boolean;
    }
    interface BceElementRadio {
        "handler": InputHandler;
        "language"?: string;
        "template": RadioElement;
        "value"?: {
            index: number;
            text: string;
        };
    }
    interface BceElementRadioEditor {
        "handler": InputHandler;
        "label"?: RadioElement.Label;
        "language"?: string;
    }
    interface BceElementSlider {
        "handler": InputHandler;
        "language"?: string;
        "template": SliderElement;
        "value"?: any;
    }
    interface BceElementSliderEditor {
        "handler": InputHandler;
        "label"?: SliderElement.Label;
        "language"?: string;
    }
    interface BceElementSortEditor {
        "handler": InputHandler;
        "label"?: SortElement.Label;
        "language"?: string;
    }
    interface BceElementTableEditor {
        "handler": InputHandler;
        "label"?: TableElement.Label;
        "language"?: string;
    }
    interface BceElementText {
        "handler": InputHandler;
        "language"?: string;
        "template": TextElement;
    }
    interface BceElementTextEditor {
        "handler": InputHandler;
        "label"?: TextElement.Label;
        "language"?: string;
    }
    interface BceElementVideo {
        "handler": InputHandler;
        "language"?: string;
        "template"?: VideoElement;
    }
    interface BceElementVideoEditor {
        "handler": InputHandler;
        "label"?: VideoElement.Label;
        "language"?: string;
    }
    interface BceFlowEditor {
        "block"?: Block;
        "current"?: string;
        "currentVersion"?: string;
        "existing"?: string[];
        "labelActionAdd"?: string;
        "labelActionDelete"?: string;
        "labelActionEnd"?: string;
        "labelActionOpen"?: string;
        "labelConditionOther"?: string;
        "labelConditionScreen"?: string;
        "labelOptionConditional"?: string;
        "labelOptionEnd"?: string;
        "labelOptionNext"?: string;
        "labelSubtitle"?: string;
        "labelTitle"?: string;
        "onComplete-module"?: (event: CustomEvent<any>) => void;
        "onNode"?: (event: CustomEvent<Reference>) => void;
        "value"?: ModuleFlow;
    }
    interface BceFlowGraph {
        "current"?: string;
        "editable"?: boolean;
        "existing"?: string[];
        "onDelete"?: (event: CustomEvent<Reference>) => void;
        "onNode"?: (event: CustomEvent<Reference>) => void;
        "value"?: ModuleFlow;
    }
    interface BceModuleEditor {
        "categories"?: {
            value: string;
            label: string;
        }[];
        "existing"?: string[];
        "label"?: ModuleLabels;
        "value"?: Module;
    }
    interface BceOptionCreator {
        "allowColor"?: boolean;
        "allowImage"?: boolean;
        "allowOther"?: boolean;
        "label": BlockElement.LabelOptionCreator;
        "name"?: string;
        "onOther"?: (event: CustomEvent<boolean>) => void;
        "other"?: boolean;
        "placeholder"?: string;
        "value"?: BlockElement.Option[];
    }
    interface IntrinsicElements {
        "bce-block-editor": BceBlockEditor;
        "bce-element": BceElement;
        "bce-element-audio": BceElementAudio;
        "bce-element-audio-editor": BceElementAudioEditor;
        "bce-element-checkbox": BceElementCheckbox;
        "bce-element-checkbox-editor": BceElementCheckboxEditor;
        "bce-element-download-editor": BceElementDownloadEditor;
        "bce-element-editor": BceElementEditor;
        "bce-element-header": BceElementHeader;
        "bce-element-header-editor": BceElementHeaderEditor;
        "bce-element-icon": BceElementIcon;
        "bce-element-icon-editor": BceElementIconEditor;
        "bce-element-image": BceElementImage;
        "bce-element-image-editor": BceElementImageEditor;
        "bce-element-input": BceElementInput;
        "bce-element-input-editor": BceElementInputEditor;
        "bce-element-link-editor": BceElementLinkEditor;
        "bce-element-matrix": BceElementMatrix;
        "bce-element-matrix-editor": BceElementMatrixEditor;
        "bce-element-radio": BceElementRadio;
        "bce-element-radio-editor": BceElementRadioEditor;
        "bce-element-slider": BceElementSlider;
        "bce-element-slider-editor": BceElementSliderEditor;
        "bce-element-sort-editor": BceElementSortEditor;
        "bce-element-table-editor": BceElementTableEditor;
        "bce-element-text": BceElementText;
        "bce-element-text-editor": BceElementTextEditor;
        "bce-element-video": BceElementVideo;
        "bce-element-video-editor": BceElementVideoEditor;
        "bce-flow-editor": BceFlowEditor;
        "bce-flow-graph": BceFlowGraph;
        "bce-module-editor": BceModuleEditor;
        "bce-option-creator": BceOptionCreator;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "bce-block-editor": LocalJSX.BceBlockEditor & JSXBase.HTMLAttributes<HTMLBceBlockEditorElement>;
            "bce-element": LocalJSX.BceElement & JSXBase.HTMLAttributes<HTMLBceElementElement>;
            "bce-element-audio": LocalJSX.BceElementAudio & JSXBase.HTMLAttributes<HTMLBceElementAudioElement>;
            "bce-element-audio-editor": LocalJSX.BceElementAudioEditor & JSXBase.HTMLAttributes<HTMLBceElementAudioEditorElement>;
            "bce-element-checkbox": LocalJSX.BceElementCheckbox & JSXBase.HTMLAttributes<HTMLBceElementCheckboxElement>;
            "bce-element-checkbox-editor": LocalJSX.BceElementCheckboxEditor & JSXBase.HTMLAttributes<HTMLBceElementCheckboxEditorElement>;
            "bce-element-download-editor": LocalJSX.BceElementDownloadEditor & JSXBase.HTMLAttributes<HTMLBceElementDownloadEditorElement>;
            "bce-element-editor": LocalJSX.BceElementEditor & JSXBase.HTMLAttributes<HTMLBceElementEditorElement>;
            "bce-element-header": LocalJSX.BceElementHeader & JSXBase.HTMLAttributes<HTMLBceElementHeaderElement>;
            "bce-element-header-editor": LocalJSX.BceElementHeaderEditor & JSXBase.HTMLAttributes<HTMLBceElementHeaderEditorElement>;
            "bce-element-icon": LocalJSX.BceElementIcon & JSXBase.HTMLAttributes<HTMLBceElementIconElement>;
            "bce-element-icon-editor": LocalJSX.BceElementIconEditor & JSXBase.HTMLAttributes<HTMLBceElementIconEditorElement>;
            "bce-element-image": LocalJSX.BceElementImage & JSXBase.HTMLAttributes<HTMLBceElementImageElement>;
            "bce-element-image-editor": LocalJSX.BceElementImageEditor & JSXBase.HTMLAttributes<HTMLBceElementImageEditorElement>;
            "bce-element-input": LocalJSX.BceElementInput & JSXBase.HTMLAttributes<HTMLBceElementInputElement>;
            "bce-element-input-editor": LocalJSX.BceElementInputEditor & JSXBase.HTMLAttributes<HTMLBceElementInputEditorElement>;
            "bce-element-link-editor": LocalJSX.BceElementLinkEditor & JSXBase.HTMLAttributes<HTMLBceElementLinkEditorElement>;
            "bce-element-matrix": LocalJSX.BceElementMatrix & JSXBase.HTMLAttributes<HTMLBceElementMatrixElement>;
            "bce-element-matrix-editor": LocalJSX.BceElementMatrixEditor & JSXBase.HTMLAttributes<HTMLBceElementMatrixEditorElement>;
            "bce-element-radio": LocalJSX.BceElementRadio & JSXBase.HTMLAttributes<HTMLBceElementRadioElement>;
            "bce-element-radio-editor": LocalJSX.BceElementRadioEditor & JSXBase.HTMLAttributes<HTMLBceElementRadioEditorElement>;
            "bce-element-slider": LocalJSX.BceElementSlider & JSXBase.HTMLAttributes<HTMLBceElementSliderElement>;
            "bce-element-slider-editor": LocalJSX.BceElementSliderEditor & JSXBase.HTMLAttributes<HTMLBceElementSliderEditorElement>;
            "bce-element-sort-editor": LocalJSX.BceElementSortEditor & JSXBase.HTMLAttributes<HTMLBceElementSortEditorElement>;
            "bce-element-table-editor": LocalJSX.BceElementTableEditor & JSXBase.HTMLAttributes<HTMLBceElementTableEditorElement>;
            "bce-element-text": LocalJSX.BceElementText & JSXBase.HTMLAttributes<HTMLBceElementTextElement>;
            "bce-element-text-editor": LocalJSX.BceElementTextEditor & JSXBase.HTMLAttributes<HTMLBceElementTextEditorElement>;
            "bce-element-video": LocalJSX.BceElementVideo & JSXBase.HTMLAttributes<HTMLBceElementVideoElement>;
            "bce-element-video-editor": LocalJSX.BceElementVideoEditor & JSXBase.HTMLAttributes<HTMLBceElementVideoEditorElement>;
            "bce-flow-editor": LocalJSX.BceFlowEditor & JSXBase.HTMLAttributes<HTMLBceFlowEditorElement>;
            "bce-flow-graph": LocalJSX.BceFlowGraph & JSXBase.HTMLAttributes<HTMLBceFlowGraphElement>;
            "bce-module-editor": LocalJSX.BceModuleEditor & JSXBase.HTMLAttributes<HTMLBceModuleEditorElement>;
            "bce-option-creator": LocalJSX.BceOptionCreator & JSXBase.HTMLAttributes<HTMLBceOptionCreatorElement>;
        }
    }
}
