import React from "react"; import { Applier, Modifier, Runner } from "./core"; export type ModifierRunContext = Record; export type ModifierRunOptions = { context: ModifierRunContext; applier: RunConfig["appliers"][number]; }; export type ModifierParams = T["editProps"] extends (...args: any[]) => unknown ? Parameters> : []; export type RunModifierConfig = { item: Modifier; args: any[]; }; export type RunApplierConfig = { item: A; args: any[]; modifiers: RunModifierConfig[]; }; export type RunConfig = { runner: R; appliers: RunApplierConfig[]; }; export type CreateRunners = (appliers: A, modifiers: M, buildMethods: U) => Runner[]; export type FeaturesApplierPlugin unknown> = Record unknown>> = { appliers: A; modifiers: M; helpers: H; }; export type Builder = any[], DR extends Runner = any, U = Record unknown>> = U & ReturnType & ((runner: T) => ReturnType["build"]>); export type BuildMethodsConfig = Record RunConfig[]) => void; }) => (...args: any[]) => void>; export type BuildMethods = { [K in keyof T]: (...params: Parameters>) => G["builder"]; }; export type OverrideProps = NP extends undefined ? OP extends undefined ? P : { [K in keyof P as K extends keyof OP ? never : K]: P[K]; } & { [K in keyof OP as OP[K] extends never ? never : K]: OP[K]; } : NP; export declare type FeaturesApplier, DR extends R[number]["name"] | string, H> = (featuresCallback: (builder: Builder>, helpers: H) => void) =>

(component: React.ComponentType

) => React.ComponentType>; export declare type FeaturesBuilder, DR extends R[number]["name"] | string, H> = (featuresCallback: (builder: Builder>, helpers: H) => void) => RunConfig[]; //# sourceMappingURL=common.d.ts.map