import { type Profile, type AuthType } from '@vybestack/llxprt-code-core';
export interface ProviderSelectionResult {
    providerName: string;
    warnings: string[];
    didFallback: boolean;
    requestedProvider: string | null;
}
export interface ProfileApplicationOptions {
    profileName?: string;
}
export interface ProfileApplicationResult {
    providerName: string;
    modelName: string;
    infoMessages: string[];
    warnings: string[];
    providerChanged: boolean;
    authType?: AuthType;
    didFallback: boolean;
    requestedProvider: string | null;
    baseUrl?: string;
}
/**
 * Get load balancer stats for a specific LB profile
 * @param _lbName The name of the load balancer profile
 * @returns Stats or undefined if not an LB profile
 * @deprecated Stats are now tracked by LoadBalancingProvider directly
 */
export declare function getLoadBalancerStats(_lbName: string): undefined;
/**
 * Get the last selected profile from a load balancer
 * @param _lbName The name of the load balancer profile
 * @returns The last selected profile name or null
 * @deprecated Stats are now tracked by LoadBalancingProvider directly
 */
export declare function getLoadBalancerLastSelected(_lbName: string): string | null;
/**
 * Get stats for all load balancers
 * @returns Map of LB name to stats
 * @deprecated Stats are now tracked by LoadBalancingProvider directly
 */
export declare function getAllLoadBalancerStats(): Map<any, any>;
/**
 * @plan PLAN-20251020-STATELESSPROVIDER3.P09
 * @requirement REQ-SP3-002
 * @pseudocode profile-application.md lines 1-22
 */
export declare function selectAvailableProvider(requestedProvider: string | null | undefined, availableProviders: readonly string[]): ProviderSelectionResult;
/**
 * @plan PLAN-20251020-STATELESSPROVIDER3.P09
 * @requirement REQ-SP3-002
 * @pseudocode profile-application.md lines 1-22
 */
export declare function applyProfileWithGuards(profileInput: Profile, _options?: ProfileApplicationOptions): Promise<ProfileApplicationResult>;
