import type { ProviderId } from './types';
export type ProviderTier = 'tier-1' | 'tier-2' | 'tier-3' | 'tier-4' | 'tier-5';
export interface ProviderEntry {
    id: ProviderId;
    label: string;
    description: string;
    /** Env var name when the provider uses an API key (.env field). Empty for OAuth-only / local. */
    envVar: string;
    /** Vendor CLI binary that handles `<cli> login`. Empty when OAuth not supported. */
    oauthCli: string;
    tier: ProviderTier;
    tags: ReadonlyArray<'cloud' | 'local' | 'router' | 'oauth' | 'oss' | 'enterprise'>;
    /** Marketing tagline for the completion card. */
    blurb: string;
}
export declare const PROVIDERS_CATALOG: readonly ProviderEntry[];
export declare const TIER_LABELS: Readonly<Record<ProviderTier, string>>;
/** Lookup by id — throws on unknown id (catches catalog desync at runtime). */
export declare function getProvider(id: ProviderId): ProviderEntry;
/** All providers belonging to a tier — used to render the multiselect. */
export declare function providersByTier(tier: ProviderTier): ProviderEntry[];
/** OAuth-capable providers — used in the agent profile auth-strategy phase. */
export declare function oauthProviders(): ProviderEntry[];
