import { CLASSNAME } from './classname';
import { Models } from './models';
import { setClassName } from './set-class-name';
export { Models } from './models';
export { SYMBOL } from './symbols';
export declare class TchHelpers {
    static getBy(className: string | Function): Function;
    static getFromObject(o: Object): any;
    static getName(target: Function, production?: boolean): string;
    static getNameFromObject(o: Object): string;
    static getConfigs(target: Function): Models.ClassConfig[];
    static describeProperites(target: Function): string[];
}
export declare const CLASS: {
    NAME: typeof CLASSNAME.CLASSNAME;
    setName: typeof setClassName;
    getBy: typeof TchHelpers.getBy;
    /**
     * @deprecated
     */
    getSingleton<T = any>(target: Function): T;
    /**
     * @deprecated
     */
    setSingletonObj(target: Function, singletonObject: any): void;
    /**
     * @deprecated
     */
    getConfigs: typeof TchHelpers.getConfigs;
    /**
     * @deprecated
     */
    getConfig: (target: Function) => Models.ClassConfig;
    getMethodsNames(classOrClassInstance: any): string[];
    getFromObject: typeof TchHelpers.getFromObject;
    getName: typeof TchHelpers.getName;
    getNameFromObject: typeof TchHelpers.getNameFromObject;
    describeProperites: typeof TchHelpers.describeProperites;
    /**
     * @deprecated
     */
    OBJECT: (obj: any) => {
        readonly indexValue: any;
        readonly indexProperty: string;
        readonly isClassObject: boolean;
        isEqual: (anotherObj: any, compareDeep?: boolean) => boolean;
    };
};
export * from 'enum-values';
