import { Optional } from '@ephox/katamari';
import { SugarElement } from '@ephox/sugar';
export interface GeneralDefinitionSpec<EC> {
    uid: string;
    tag?: string;
    attributes?: Record<string, any>;
    classes?: string[];
    styles?: Record<string, string>;
    value?: any;
    innerHtml?: string;
    domChildren?: EC;
}
export interface DomDefinitionSpec extends GeneralDefinitionSpec<SugarElement<Node>> {
}
export interface GeneralDefinitionDetail<EC> {
    uid: string;
    tag: string;
    attributes: Record<string, any>;
    classes: string[];
    styles: Record<string, string>;
    value: Optional<any>;
    innerHtml: Optional<string>;
    domChildren: EC[];
}
export interface DomDefinitionDetail extends GeneralDefinitionDetail<SugarElement<Node>> {
}
declare const defToStr: <EC>(defn: GeneralDefinitionDetail<EC>) => string;
declare const defToRaw: <EC>(defn: GeneralDefinitionDetail<EC>) => GeneralDefinitionSpec<string>;
export { defToStr, defToRaw };
//# sourceMappingURL=DomDefinition.d.ts.map