import { IObject } from "@daybrush/utils";
import { HookInfo, HooksProvider } from "../hooks/hooks";
import { Ref } from "../types";
import { Component } from "./Component";
import { Provider } from "./Provider";
export declare function createComponent(type: any, props: any, contextValue: any, self: any): Component;
export declare class ComponentProvider extends Provider<Component> implements HooksProvider {
    typ: string;
    _usefs: Array<() => (() => any) | undefined | void>;
    _uefs: Array<() => (() => any) | undefined | void>;
    _defs: Array<undefined | void | (() => void)>;
    _hs?: HookInfo[];
    constructor(type: typeof Component, depth: number, key: string, index: number, container?: Provider | null, ref?: Ref, props?: IObject<any>);
    s(nextProps: any, nextState: any): boolean;
    r(hooks: Function[], contexts: Record<string, Component>, prevProps: any): void;
    ss(nextState?: IObject<any>): void;
    un(): void;
}
