/**
 * Типизированные классы ошибок для бизнес-логики тестов
 *
 */
import { Role } from "./test-role-utils";
/**
 * Базовая ошибка теста с контекстом
 */
export declare class TestError extends Error {
    readonly role: Role | undefined;
    readonly context: Record<string, unknown> | undefined;
    constructor(message: string, role?: Role, context?: Record<string, unknown>);
    /**
     * Форматирует ошибку для логирования
     */
    format(): string;
}
/**
 * Ошибка работы с данными
 * Используется когда данные не найдены, операции не выполнены и т.д.
 */
export declare class DataError extends TestError {
    readonly operation: string;
    readonly dataKey?: string;
    readonly dataValue?: unknown;
    constructor(message: string, operation: string, role?: Role, dataKey?: string, dataValue?: unknown, context?: Record<string, unknown>);
    format(): string;
}
/**
 * Ошибка авторизации
 * Используется для ошибок связанных с аутентификацией и авторизацией
 */
export declare class AuthenticationError extends TestError {
    readonly authType: string;
    readonly credentials?: Record<string, string>;
    constructor(message: string, authType: string, role?: Role, credentials?: Record<string, string>, context?: Record<string, unknown>);
    format(): string;
}
/**
 * Утилита для создания ошибок с контекстом
 */
export declare class ErrorFactory {
    /**
     * Создает DataError для ошибок работы с данными
     * Используется когда данные не найдены, операции не выполнены и т.д.
     */
    static data(operation: string, message: string, role?: Role, dataKey?: string, dataValue?: unknown, context?: Record<string, unknown>): DataError;
    /**
     * Создает AuthenticationError для ошибок авторизации
     */
    static authentication(authType: string, message: string, role?: Role, credentials?: Record<string, string>, context?: Record<string, unknown>): AuthenticationError;
}
