export type RelayErrorCode = 'name_conflict' | 'not_found' | 'rate_limited' | 'backpressure' | 'unauthorized' | 'agent_token_invalid' | 'workspace_mismatch' | 'transport_error';
export interface RelayErrorOptions {
    statusCode?: number;
    retryable?: boolean;
    rawCode?: string;
    cause?: unknown;
}
export declare function normalizeRelayErrorCode(rawCode: string | undefined, statusCode?: number): RelayErrorCode;
export declare function relayErrorRetryable(code: RelayErrorCode, statusCode?: number): boolean;
export declare class RelayError extends Error {
    readonly code: RelayErrorCode;
    readonly retryable: boolean;
    readonly statusCode?: number;
    readonly rawCode?: string;
    readonly status: number;
    constructor(code: RelayErrorCode, message: string, options?: RelayErrorOptions);
}
export declare function relayErrorFromApi(rawCode: string | undefined, message: string, statusCode?: number): RelayError;
//# sourceMappingURL=errors.d.ts.map