declare const EC: unique symbol; interface Context { id: symbol; initFn: Function; } type WalkableNode = Node & { host?: WalkableNode; [EC]?: any; }; export declare function createContext(initFn: Function): Context; export declare function provide(context: Context, value: any, element?: WalkableNode): any; export declare function consume(context: Context, element?: HTMLElement & import("./utils").ICustomElement): any; export declare function withProvider(context: Context, value: any): (ComponentType: import("./utils").ComponentType) => import("./utils").ComponentType; export declare function withConsumer(context: Context, key: string): (ComponentType: import("./utils").ComponentType) => import("./utils").ComponentType; export {};