import { VNode } from 'preact';
export type Slots = {
    [k: string]: VNode<any> | string;
};
/**
 * Takes a template element and converts its content into a Preact VNode and also
 * extracts slot-element information.
 */
export declare function templateToPreactVNode(template: HTMLTemplateElement): {
    vnode: VNode;
    slots: Slots;
};
/**
 * Recursively converts DOM nodes into Preact VNodes (virtual nodes) and also extracts
 * slot-element information.
 */
export declare function nodeToPreactVNode(node: Node, slots?: Slots, insideNestedComponent?: boolean): {
    vnode: VNode<any> | string | null;
    slots: Slots;
};
export declare function createSlotVNode(name?: string): VNode;
export declare function getSlotNames(element: Element): string[];
