export declare function prefixNames(prefix: string, ...classNames: string[]): string; export declare function prefixCSS(prefix: string, css: string): string; export declare function ref(target: any, name: string): (e: any) => void; export declare function refs(target: any, name: string, i: number): (e: any) => void; export declare function Properties(properties: any[], action: (prototype: any, property: string) => any): (component: any) => void; export declare function withMethods(methods: readonly string[], duplicate?: { [name: string]: string; }): (prototype: any, propertyName: string) => void; export declare type ParametersType = Func extends (...params: infer Params) => any ? (...params: Params) => Return : never; export declare type ExcludeInterface = { [key in Exclude]: Obj1[key]; }; export declare type EntriesObject = { [key in keyof T]: [key, Readonly]; }; export declare type FindKey = E extends [infer U, V] ? U & string : never; export declare type InvertObject, En extends Record = EntriesObject> = { [key in En[keyof En][1]]: FindKey; }; export declare type Entries = Key extends string ? [Key, Obj[Key]] : never; export declare type ReverseKey> = E extends [infer Value, Key] ? Value : never; export declare type UniqueMethodInterface = { [key in keyof ExcludeInterface]: Methods[key] extends (...params: any[]) => Target ? ParametersType : Methods[key]; }; export declare type ChangedMethodInterface = { [key in Duplicate[keyof Duplicate]]: Methods[ReverseKey & keyof Methods] extends (...params: any[]) => Target ? ParametersType & keyof Methods], ReturnTarget> : Methods[ReverseKey & keyof Methods]; }; export declare type MethodInterface = UniqueMethodInterface & ChangedMethodInterface;