import { HasValidation, LeafNode, ValidationMessageUnit } from "./Blueprint"; import { Dictionary } from "./general"; type Listener = (...a: any[]) => void; type ValidationOption = (c: DynamicUIComponent) => ValidationMessageUnit; interface DynamicUiOptions { tag: string; classes?: string[]; id?: string; attrs?: Dictionary; listeners?: Dictionary; content?: LeafNode; slots?: Dictionary; validation?: ValidationOption; ref?: string; } export declare class DynamicUIComponent implements HasValidation { readonly isDynamicComponent = true; private _tag; private _classes; private _attrs; private _listeners; private _id?; private _content; private _validation; private _slots; private _ref; constructor(init: DynamicUiOptions); isValid(): ValidationMessageUnit; setTag(tag: string): void; setId(id: string): void; setClasses(classes: string[]): void; setListeners(listeners: Dictionary): void; setAttrs(attrs: Dictionary): void; setListener(key: string, listener: Listener): void; setAttr(key: string, value: any): void; setRef(ref: string): void; setValidation(validation: ValidationOption): void; setContent(content: LeafNode): void; setSlots(slots: Dictionary): void; ref(): string; tag(): DynamicUIComponent["_tag"]; classes(): DynamicUIComponent["_classes"]; attrs(): Dictionary; listeners(): Dictionary; id(): DynamicUIComponent["_id"]; content(): LeafNode | null; slots(): Dictionary; toJSON(): Omit; static fromJSON(payload: Omit): DynamicUIComponent; clone(): DynamicUIComponent; } export {}; //# sourceMappingURL=DynamicUIComponent.d.ts.map