/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
/**
 * Error thrown when authentication is required but not available
 */
export declare class AuthenticationRequiredError extends Error {
    readonly authMode: string;
    readonly requiredAuth?: string[];
    constructor(message: string, authMode: string, requiredAuth?: string[]);
}
/**
 * @plan:PLAN-20251023-STATELESS-HARDENING.P03
 * @requirement:REQ-SP4-001
 * @pseudocode base-provider-runtime-guard.md lines 10-14
 */
export declare class MissingProviderRuntimeError extends Error {
    /**
     * Call-site provider identifier (e.g. `BaseProvider.openai`).
     */
    readonly providerKey: string;
    /**
     * Required runtime properties that were not supplied.
     */
    readonly missingFields: readonly string[];
    /**
     * Requirement tag to aid verification harnesses.
     */
    readonly requirement: string;
    /**
     * Recommendations for callers to remediate the guard failure.
     */
    readonly remediation: readonly string[];
    /**
     * Structured metadata attached to the error for diagnostics.
     */
    readonly context: {
        stage?: string;
        metadata?: Record<string, unknown>;
    };
    /**
     * @plan:PLAN-20251023-STATELESS-HARDENING.P05
     * @requirement:REQ-SP4-001
     * @pseudocode base-provider-fallback-removal.md lines 11-12
     */
    constructor({ providerKey, missingFields, requirement, remediation, stage, metadata, message, }: {
        providerKey: string;
        missingFields: string[];
        requirement?: string;
        remediation?: string[];
        stage?: string;
        metadata?: Record<string, unknown>;
        message?: string;
    });
}
/**
 * @plan:PLAN-20251023-STATELESS-HARDENING.P08
 * @requirement:REQ-SP4-002
 * @pseudocode provider-runtime-handling.md lines 11-12
 */
export declare class ProviderRuntimeNormalizationError extends Error {
    readonly providerKey: string;
    readonly requirement: string;
    readonly context: {
        runtimeId?: string;
        stage?: string;
        metadata?: Record<string, unknown>;
    };
    constructor({ providerKey, message, requirement, runtimeId, stage, metadata, }: {
        providerKey: string;
        message: string;
        requirement?: string;
        runtimeId?: string;
        stage?: string;
        metadata?: Record<string, unknown>;
    });
}
/**
 * @plan:PLAN-20251023-STATELESS-HARDENING.P08
 * @requirement:REQ-SP4-004
 * @pseudocode logging-wrapper-adjustments.md lines 11, 15
 */
export declare class ProviderRuntimeScopeError extends Error {
    readonly requirement: string;
    readonly context: {
        callId?: string;
        stage?: string;
        metadata?: Record<string, unknown>;
    };
    constructor({ message, requirement, callId, stage, metadata, }: {
        message: string;
        requirement?: string;
        callId?: string;
        stage?: string;
        metadata?: Record<string, unknown>;
    });
}
/**
 * Error thrown when all backends in a load balancer failover policy have failed
 * @plan PLAN-20251212issue488
 */
export declare class LoadBalancerFailoverError extends Error {
    readonly profileName: string;
    readonly failures: ReadonlyArray<{
        readonly profile: string;
        readonly error: Error;
    }>;
    constructor(profileName: string, failures: Array<{
        profile: string;
        error: Error;
    }>);
}
