import { ITSRequireAtLeastOne, ITSMemberMethods, ITSKeyofMemberMethods } from 'ts-type'; import { IMethodBuilderOptions } from '../wrap/decorators/build'; export declare type IMemberMethods = ITSMemberMethods; export declare type IMemberMethodsKeys = ITSKeyofMemberMethods; export declare function methodBuilder(handler?: IHandleDescriptor>):

, import("ts-type").ITSPropertyKey>>(target: T, propertyName: P, descriptor: TypedPropertyDescriptor[P]>) => void; export declare type ConstructorLikeType = new (...args: any) => T; export declare type IHandleDescriptor = IMemberMethodsKeys> = (this: ThisType, data: IHandleDescriptorParameters) => IHandleDescriptorReturn; export declare type IHandleDescriptor2 = IMemberMethodsKeys> = (this: ThisType, data: IHandleDescriptorParameters & R) => IHandleDescriptorReturn2; export declare type IHandleDescriptor3 = IMemberMethodsKeys> = (this: ThisType, data: IHandleDescriptorParameters & R) => IHandleDescriptorReturn; export interface IHandleDescriptorParameters> { target: T; propertyName: P; thisArgv: Partial; method: IMemberMethods[P]; argv: any[]; returnValue?: PromiseLike; builderOptions?: IMethodBuilderOptions; } export declare type IHandleDescriptorReturn> = ITSRequireAtLeastOne>, 'thisArgv' | 'method' | 'argv' | 'returnValue'>; export declare type IHandleDescriptorReturn2 = ITSRequireAtLeastOne>, 'thisArgv' | 'method' | 'argv' | 'returnValue'> & R; export default methodBuilder;