import React from "react"; import type { GetDecoratee, GetDecorateeParams } from "./createDecorator.js"; import type { DecoratableComponent, GenericComponent, Decorator, GenericHook, DecoratableHook, ComponentDecorator } from "./types.js"; export interface ShouldDecorate { (decoratorProps: TDecorator, componentProps: TComponent): boolean; } export declare function createConditionalDecorator(shouldDecorate: ShouldDecorate, decorator: Decorator, decoratorProps: unknown): Decorator; export declare function createDecoratorFactory(): (decoratable: TDecoratable, shouldDecorate?: ShouldDecorate>>) => (decorator: ComponentDecorator>) => (props: TDecorator) => React.JSX.Element; export declare function createHookDecoratorFactory(): (decoratable: TDecoratable) => (decorator: Decorator>) => () => React.JSX.Element; export declare function withDecoratorFactory(): (Component: TDecoratable, shouldDecorate?: ShouldDecorate>>) => TDecoratable & { createDecorator: (decorator: ComponentDecorator>) => (props: TDecorator) => React.JSX.Element; }; export declare function withHookDecoratorFactory(): (hook: TDecoratable) => DecoratableHook>, ReturnType>>> & { createDecorator: (decorator: Decorator>) => () => React.JSX.Element; };