import type { WireContextSubscriptionCallback } from '@lwc/engine-core';
export declare const HostNamespaceKey: unique symbol;
export declare const HostTypeKey: unique symbol;
export declare const HostParentKey: unique symbol;
export declare const HostShadowRootKey: unique symbol;
export declare const HostChildrenKey: unique symbol;
export declare const HostAttributesKey: unique symbol;
export declare const HostValueKey: unique symbol;
export declare const HostHostKey: unique symbol;
export declare const HostContextProvidersKey: unique symbol;
export declare const HostNodeType: {
    readonly Text: "text";
    readonly Comment: "comment";
    readonly Raw: "raw";
    readonly Element: "element";
    readonly ShadowRoot: "shadow-root";
};
export interface HostText {
    [HostTypeKey]: typeof HostNodeType.Text;
    [HostParentKey]: HostElement | null;
    [HostValueKey]: string;
}
export interface HostComment {
    [HostTypeKey]: typeof HostNodeType.Comment;
    [HostParentKey]: HostElement | null;
    [HostValueKey]: string;
}
export interface HostRaw {
    [HostTypeKey]: typeof HostNodeType.Raw;
    [HostParentKey]: HostElement | null;
    [HostValueKey]: string;
}
export interface HostAttribute {
    name: string;
    [HostNamespaceKey]: string | null;
    value: string;
}
export type HostParentNode = HostElement | HostShadowRoot;
export interface HostShadowRoot {
    [HostTypeKey]: typeof HostNodeType.ShadowRoot;
    [HostChildrenKey]: HostChildNode[];
    mode: 'open' | 'closed';
    delegatesFocus: boolean;
    [HostHostKey]: HostElement;
}
export interface HostElement {
    [HostTypeKey]: typeof HostNodeType.Element;
    tagName: string;
    [HostNamespaceKey]: string;
    [HostParentKey]: HostParentNode | null;
    [HostShadowRootKey]: HostShadowRoot | null;
    [HostChildrenKey]: HostChildNode[];
    [HostAttributesKey]: HostAttribute[];
    [HostContextProvidersKey]: Map<string, WireContextSubscriptionCallback>;
}
export type HostNode = HostText | HostElement | HostComment;
export type HostChildNode = HostNode | HostRaw;
//# sourceMappingURL=types.d.ts.map