import { GeneratorCoreWrapperArgs, InferWrapperOptionParam, InferWrapperTypeParam, RequiredGeneratorCoreFuncStruct } from '../../utils'; /** * Experimental wrapper with full type definitions support / inferrence. * Currently it was applied only on Controller / ORM(requires a sub-type as extra paramater) handler. * Next Stage: Simplify! * @param core Generator core handler * @param extraArgs Arguments to pass to core * @type GeneratorArgs: Should extends `GeneratorCoreWrapperArgs`, represents the parameters that core function will received. * @type GeneratorCoreHandler: Should extends `RequiredGeneratorCoreFuncStruct`, represents the structure(args type & return type) that core func should be restricted with. * @type GeneratorOptions: Inferred from `GeneratorArgs`, represents the generator specificed options. * @type GeneratorType: Inferred from `GeneratorArgs`, represents the generator sub-type(if exists). */ export declare function generatorInvokeWrapperExp, GeneratorCoreHandler extends RequiredGeneratorCoreFuncStruct, GeneratorOptions = InferWrapperOptionParam, GeneratorType = InferWrapperTypeParam>(core: GeneratorCoreHandler, extraArgs: GeneratorArgs): Promise; export declare function generatorInvokeWrapper(core: (...args: unknown[]) => Promise, ...extraArgs: unknown[]): Promise; //# sourceMappingURL=index.d.ts.map