import './bce-element-icons';
import { BlockLanguages } from '../../models/block-languages';
import { Block } from '../../models/block';
import { BlockElement } from '../../models/element';
import { ElementAction } from '../../models/element-action';
import { ElementQuestion } from '../../models/element-question';
import { BlockLabels } from '../../models/labels';
export declare class BlockEditor {
    #private;
    private el;
    blacklist?: string;
    elementAction: ElementAction[];
    elementQuestion: {
        [Type in BlockElement.Type]?: ElementQuestion[];
    };
    label: BlockLabels;
    languages: BlockLanguages;
    preview?: boolean;
    value: Block;
    whitelist?: string;
    _language?: string;
    private handleEdit;
    private handleSort;
    private handleDelete;
    private handleDuplicate;
    watchValue(): void;
    addElement(type: BlockElement.Type): Promise<void>;
    getStoredFiles(): Promise<string[]>;
    metadata(id: string, key: string, value?: any): Promise<void>;
    private getName;
    componentDidLoad(): void;
    renderElements(): any[];
    renderLanguage(): any;
    render(): any[];
}
