export declare type CreateComponentParams<Props extends Record<string, unknown>, State extends Record<string, unknown>, Refs extends Record<string, HTMLElement>> = {
    baseHTMLTemplate: string;
    createRefs: (root: HTMLDivElement) => Refs;
    render: (params: {
        refs: Refs;
        props: Props;
        state: State;
        setState: (modi: Partial<State> | ((prevState: State) => Partial<State>)) => void;
        effect: (cb: () => (() => void) | void, deps: unknown[]) => void;
    }) => () => void;
};
export declare const createComponent: <Props extends Record<string, unknown>, State extends Record<string, unknown>, Refs extends Record<string, HTMLElement>>({ baseHTMLTemplate, createRefs, render, }: CreateComponentParams<Props, State, Refs>) => {
    mount: (element: HTMLDivElement, props: Props) => void;
    unmount: () => void;
    update: (props: Props) => void;
    readonly mounted: boolean;
};
//# sourceMappingURL=createComponent.d.ts.map