import { DOMFactory } from './types'; export type CreateFnExt = (type: unknown, props: Record | undefined, children: unknown[] | undefined, fallback: (t?: unknown, p?: Record, c?: unknown[], s?: DOMFactory) => Node, self: DOMFactory) => Node; export type AttributeFnExt = (node: Element, name: string, value: unknown, fallback: (n?: Element, a?: string, v?: unknown, s?: DOMFactory) => void, self: DOMFactory) => void; export type AppendFnExt = (node: Node, value: unknown, fallback: (n?: Node, v?: unknown, s?: DOMFactory) => Node, self: DOMFactory) => Node; export type FillFnExt = (node: Node, value: unknown, fallback: (n?: Node, v?: unknown, s?: DOMFactory) => void, self: DOMFactory) => void; export interface DOMFactoryExt { create?: CreateFnExt; attribute?: AttributeFnExt; append?: AppendFnExt; fill?: FillFnExt; } export declare function extend(factory: DOMFactory, ...exts: DOMFactoryExt[]): DOMFactory;