/**
 * Перелік можливих типів помилок.
 */
export var TypeErrors;
(function (TypeErrors) {
    TypeErrors["RolePermission"] = "api.context.permissions.app_error";
    TypeErrors["LicencePermission"] = "api.context.permissions.license";
    TypeErrors["PauseNotAllow"] = "app.agent.set_pause.not_allow";
})(TypeErrors || (TypeErrors = {}));
/**
 * Помилка, яка виникає, коли пристрій не знайдено.
 * @extends Error
 */
// tslint:max-classes-per-file
export class DeviceNotFoundError extends Error {
    /**
     * Конструктор для створення нового екземпляра DeviceNotFoundError.
     *
     * @param {string} msg - Повідомлення про помилку.
     */
    constructor(msg) {
        super(msg);
        this.id = DeviceNotFoundError.id;
    }
}
/**
 * Статичний ідентифікатор для типу помилки.
 * @type {string}
 */
DeviceNotFoundError.id = `device_not_found`;
/**
 * Користувацький клас помилки, що представляє помилку дозволу "Пристрій не дозволено".
 * Ця помилка викликається, коли пристрій не має необхідних дозволів.
 *
 * @extends Error
 */
// tslint:disable-next-line: max-classes-per-file
export class DeviceNotAllowPermissionError extends Error {
    /**
     * Конструктор для створення нового екземпляра DeviceNotAllowPermissionError.
     *
     * @param {string} msg - Повідомлення про помилку.
     */
    constructor(msg) {
        super(msg);
        this.id = DeviceNotAllowPermissionError.id;
    }
}
/**
 * Статичний ідентифікатор для типу помилки.
 * @type {string}
 */
DeviceNotAllowPermissionError.id = `device_not_allow`;
/**
 * Користувацький клас помилки, що представляє помилку дозволу "Роль не дозволена".
 * Ця помилка викликається, коли роль не має необхідних дозволів.
 *
 * @extends Error
 */
// tslint:disable-next-line: max-classes-per-file
export class RolePermissionError extends Error {
    /**
     * Конструктор для створення нового екземпляра RolePermissionError.
     *
     * @param {string} msg - Повідомлення про помилку.
     */
    constructor(msg) {
        super(msg);
        this.id = RolePermissionError.id;
    }
}
/**
 * Статичний ідентифікатор для типу помилки.
 * @type {string}
 */
RolePermissionError.id = TypeErrors.RolePermission;
/**
 * Користувацький клас помилки, що представляє помилку дозволу "Ліцензія не дозволена".
 * Ця помилка викликається, коли ліцензія не має необхідних дозволів.
 *
 * @extends Error
 */
// tslint:disable-next-line: max-classes-per-file
export class LicencePermissionError extends Error {
    /**
     * Конструктор для створення нового екземпляра LicencePermissionError.
     *
     * @param {string} msg - Повідомлення про помилку.
     */
    constructor(msg) {
        super(msg);
        this.id = LicencePermissionError.id;
    }
}
/**
 * Статичний ідентифікатор для типу помилки.
 * @type {string}
 */
LicencePermissionError.id = TypeErrors.LicencePermission;
/**
 * Користувацький клас помилки, що представляє помилку "Пауза не дозволена".
 * Ця помилка викликається, коли встановлення паузи не дозволено.
 *
 * @extends Error
 */
// tslint:disable-next-line: max-classes-per-file
export class PauseNotAllowedError extends Error {
    /**
     * Конструктор для створення нового екземпляра PauseNotAllowedError.
     *
     * @param {string} msg - Повідомлення про помилку.
     */
    constructor(msg) {
        super(msg);
        this.id = PauseNotAllowedError.id;
    }
}
/**
 * Статичний ідентифікатор для типу помилки.
 * @type {string}
 */
PauseNotAllowedError.id = TypeErrors.PauseNotAllow;
//# sourceMappingURL=errors.js.map