import { PropsType } from '../../shared/types'; import { ChildType } from '../renderer'; import { Plugin, PluginHost } from './plugin'; export interface CreatePlugin extends Plugin { create(tag: string | Tag, props: PropsType | undefined, children: ChildType[], pluginHost: PluginHost): Node | undefined; } export declare function isCreatePlugin(whatever: Plugin): whatever is CreatePlugin; export interface PostCreatePlugin extends Plugin { postCreate(node: Node, pluginHost: PluginHost): void; } export declare function isPostCreatePlugin(whatever: Plugin): whatever is PostCreatePlugin; export interface PropertyPlugin extends Plugin { setprop(prop: string, target: Renderable | RawValue, host: HTMLElement, pluginHost: PluginHost): boolean; } export declare function isPropertyPlugin(whatever: Plugin): whatever is PropertyPlugin; export interface AppendPlugin extends Plugin { append(target: RawValue | Renderable | Node | (RawValue | Renderable | Node)[], host: Node, pluginHost: PluginHost): boolean; } export declare function isAppendPlugin(whatever: Plugin): whatever is AppendPlugin; export interface PostRenderPlugin extends Plugin { postRender(node: Node, pluginHost: PluginHost): void; } export declare function isPostRenderPlugin(whatever: Plugin): whatever is PostRenderPlugin;