export type QualityIntelligenceSafeErrorCode = "qi/capability-mismatch" | "qi/budget-exhausted" | "qi/timeout" | "qi/cancelled" | "qi/provider-error" | "qi/redaction-failed";
interface SafeErrorBase<TCode extends QualityIntelligenceSafeErrorCode> {
    readonly code: TCode;
    readonly message: string;
}
export interface QualityIntelligenceCapabilityMismatchError extends SafeErrorBase<"qi/capability-mismatch"> {
    readonly profileId: string;
    readonly missingCapabilities: readonly string[];
}
export interface QualityIntelligenceBudgetExhaustedError extends SafeErrorBase<"qi/budget-exhausted"> {
    readonly profileId: string;
}
export interface QualityIntelligenceTimeoutError extends SafeErrorBase<"qi/timeout"> {
    readonly profileId: string;
    readonly timeoutMs: number;
}
export interface QualityIntelligenceCancelledError extends SafeErrorBase<"qi/cancelled"> {
    readonly profileId: string;
}
export interface QualityIntelligenceProviderError extends SafeErrorBase<"qi/provider-error"> {
    readonly profileId: string;
}
export interface QualityIntelligenceRedactionFailedError extends SafeErrorBase<"qi/redaction-failed"> {
    readonly profileId: string;
}
export type QualityIntelligenceSafeError = QualityIntelligenceCapabilityMismatchError | QualityIntelligenceBudgetExhaustedError | QualityIntelligenceTimeoutError | QualityIntelligenceCancelledError | QualityIntelligenceProviderError | QualityIntelligenceRedactionFailedError;
export declare class QualityIntelligenceSafeErrorException extends Error {
    readonly safe: QualityIntelligenceSafeError;
    constructor(safe: QualityIntelligenceSafeError);
}
export declare function makeCapabilityMismatchError(profileId: string, missingCapabilities: readonly string[]): QualityIntelligenceCapabilityMismatchError;
export declare function makeBudgetExhaustedError(profileId: string): QualityIntelligenceBudgetExhaustedError;
export declare function makeTimeoutError(profileId: string, timeoutMs: number): QualityIntelligenceTimeoutError;
export declare function makeCancelledError(profileId: string): QualityIntelligenceCancelledError;
export declare function makeProviderError(profileId: string): QualityIntelligenceProviderError;
export declare function makeRedactionFailedError(profileId: string): QualityIntelligenceRedactionFailedError;
export {};
//# sourceMappingURL=safeError.d.ts.map