/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 *
 * @plan PLAN-20251213issue490
 * Implementation of BucketFailoverHandler for CLI package
 *
 * This class wraps OAuthManager to provide bucket failover capabilities
 * during API calls when rate limits or quota errors are encountered.
 */
import { BucketFailoverHandler } from '@vybestack/llxprt-code-core';
import type { OAuthManager } from './oauth-manager.js';
/**
 * CLI implementation of BucketFailoverHandler
 *
 * Uses OAuthManager to:
 * - Track available buckets from profile configuration
 * - Switch between buckets on failover
 * - Refresh OAuth tokens when switching buckets
 */
export declare class BucketFailoverHandlerImpl implements BucketFailoverHandler {
    private buckets;
    private currentBucketIndex;
    private readonly provider;
    private readonly oauthManager;
    constructor(buckets: string[], provider: string, oauthManager: OAuthManager);
    /**
     * Get the list of available buckets
     */
    getBuckets(): string[];
    /**
     * Get the currently active bucket
     */
    getCurrentBucket(): string | undefined;
    /**
     * Try to failover to the next bucket
     *
     * This method:
     * 1. Moves to the next bucket in the list
     * 2. Refreshes the OAuth token for that bucket
     * 3. Returns true if successful, false if no more buckets
     */
    tryFailover(): Promise<boolean>;
    /**
     * Check if bucket failover is enabled
     * Returns true if there are multiple buckets configured
     */
    isEnabled(): boolean;
    /**
     * Reset to the first bucket (useful for new sessions)
     */
    reset(): void;
}
