import Namespace from './Namespace'; export interface IClassName { namespace: string | Namespace; path: string[]; name: string; } /** * Проверка типа IClassName. * @param value * @returns {boolean} */ export declare function isImplementsIClassName(value: any): value is IClassName; /** * Класс для работы с именами классов. * Имя класса состоит из: пространства имен, пути (пакеты), локальное имя класса. * Все части класса разделены точкой. * Например: Namespace1.path1.path2.path3.Class1. */ export default class ClassName implements IClassName { /** * Проверка имени на правильное написание. * @param {string} name * @returns {boolean} */ static isValid(name: string): boolean; /** * Парсинг имени класса на составляющие. * Параметр namespace нужен для случаев, когда пространства имен составное. * @param {string} name * @param {string} namespace * @returns {IClassName} */ static parse(name: string, namespace?: string): IClassName; /** * Преобразование имени класса в путь к файлу с данным классом. * Ext.util.Observable — path/to/src/util/Observable.js * Ext.form.action.Submit — path/to/src/form/action/Submit.js * MyCompany.chart.axis.Numeric — path/to/src/chart/axis/Numeric.js * @param {string | ClassName} name * @param {string} rootPath */ static toSourceFileName(name: string | IClassName, rootPath?: string): string; /** * Пространство имен. * @returns {Namespace} */ namespace: Namespace; /** * Массив с частями пути к классу. * @returns {string[]} */ path: string[]; /** * Краткое имя класса (последняя часть из частей отделенных точками). * @returns {string} */ name: string; /** * Полное имя класса. * @returns {string} */ readonly fullName: string; /** * Путь к файлу класса. * Например 'path/to/src/util/Observable.js'. * @returns {string} */ readonly sourceFileName: string; /** * Конструктор. * @param {string} name * @param {string} namespace */ constructor(name?: string, namespace?: string); /** * Полное имя класса. * @returns {string} */ toString(): string; } //# sourceMappingURL=ClassName.d.ts.map