/**
 * @module @arcis/node/core/errors
 * Custom error classes for Arcis
 */
/**
 * Base class for all Arcis errors
 */
export declare class ArcisError extends Error {
    readonly statusCode: number;
    readonly code: string;
    /** Whether the error message is safe to expose to API clients. */
    readonly expose: boolean;
    constructor(message: string, statusCode?: number, code?: string);
}
/**
 * Error thrown when input validation fails
 */
export declare class ValidationError extends ArcisError {
    readonly errors: string[];
    constructor(errors: string[]);
}
/** Alias for ValidationError (backwards compatibility) */
export { ValidationError as ArcisValidationError };
/**
 * Error thrown when rate limit is exceeded
 */
export declare class RateLimitError extends ArcisError {
    readonly retryAfter: number;
    constructor(message: string, retryAfter: number);
}
/**
 * Error thrown when input is too large
 */
export declare class InputTooLargeError extends ArcisError {
    readonly maxSize: number;
    readonly actualSize: number;
    constructor(maxSize: number, actualSize: number);
}
/**
 * Error thrown when security threat is detected
 */
export declare class SecurityThreatError extends ArcisError {
    readonly threatType: string;
    readonly pattern: string;
    constructor(threatType: string, pattern: string);
}
/**
 * Error thrown when sanitization fails
 */
export declare class SanitizationError extends ArcisError {
    constructor(message: string);
}
//# sourceMappingURL=errors.d.ts.map