export declare type FilterTypeBy = { [k in keyof T]: T[k] extends Condition ? k : never; }; export declare type FilterMemberNames = FilterTypeBy[keyof T]; export declare type SubType = Pick>; export declare type Methods = SubType; export declare type Func = (...args: any[]) => A; export declare type AsyncAction = Func>; export declare type AsyncMethods = SubType; export declare function compose(...funcs: Func[]): Func; export declare function mixin(instance: T, mixer: (A: any) => A, ...keys: FilterMemberNames>[]): T;