import { EventEmitter } from '@angular/core';
export declare class CustomControlSettings {
    strictUUID: string;
    customValue: string | number;
    selectValues: any[];
    index: number;
    actions: Object;
    classes: string[];
    customHtml: string;
    placeholder: string;
    updates?: EventEmitter<any>;
    constructor(strictUUID?: string, customValue?: string | number, selectValues?: any[], index?: number, actions?: Object, classes?: string[], customHtml?: string, placeholder?: string);
}
export declare class AbstractBPMNControl {
    element: any;
    type: string;
    id: string;
    label: string;
    modelProperty: string;
    originalField: any;
    settings: CustomControlSettings;
    inputChanged: EventEmitter<any>;
    UUID: string;
    private _oldHtml;
    constructor(element: any, type?: string, id?: string, label?: string, modelProperty?: string, originalField?: any, settings?: CustomControlSettings);
    readonly html: string;
    generateHtml(): string;
    bindDefault(): void;
    bindDelete(): void;
    bindNameEdit(): void;
    bindActions(): void;
    /**
     * Updates the HTML
     * @param values
     */
    update(values?: any): void;
    readonly node: HTMLElement;
    readonly model: {
        id: string;
        label: string;
        modelProperty: string;
        cssClasses: string[];
        options: any[];
    };
    readonly control: {
        id: string;
        label: string;
        modelProperty: string;
        cssClasses: string[];
        options: any[];
    } & {
        html: string;
        get: any;
        set: any;
    };
    readonly customTarget: string | number;
    readonly customValue: any;
    readonly customGetter: (element: any, node?: any) => {};
    readonly customSetter: (element: any, values: any, node?: any) => any;
    private bindColorEdit();
    private bindTextLoad();
    private log(...args);
}
