export interface ApiError {
    message: string;
    details?: Record<string, string[]> | string[];
    statusCode?: number;
}
export interface ClientErrorLog {
    message: string;
    stack?: string;
    url?: string;
    component?: string;
    level?: 'Error' | 'Warning' | 'Critical';
    metadata?: Record<string, unknown>;
}
export interface ClientEventLog {
    event: string;
    category: string;
    data?: Record<string, unknown>;
}
export declare class AppError extends Error {
    statusCode?: number;
    details?: Record<string, string[]> | string[];
    constructor(message: string, statusCode?: number, details?: Record<string, string[]> | string[]);
}
export declare class NetworkError extends Error {
    constructor(message?: string);
}
export type LoginErrorCode = 'INVALID_CREDENTIALS' | 'ACCOUNT_DISABLED' | 'ACCOUNT_LOCKED' | 'EXTERNAL_AUTH_REQUIRED' | 'INVALID_PASSWORD';
export declare class AuthenticationError extends Error {
    code?: LoginErrorCode;
    constructor(message?: string, code?: LoginErrorCode);
}
export declare class ForbiddenError extends Error {
    constructor(message?: string);
}
//# sourceMappingURL=errors.d.ts.map