import type { LLMProvider } from './types.js';
import type { KeyStoreOpts } from '../../../security/key-store.js';
export declare function selectProvider(env: Record<string, string | undefined>): LLMProvider | null;
/**
 * Select a provider considering keystore (keychain/file) in addition to env.
 * Returns { provider, key } so the caller can use the key directly without
 * hydrating process.env. Returns null when no provider is configured.
 *
 * Resolution order:
 *   1. WIGOLO_LLM_PROVIDER override (if key resolves in keystore or env)
 *   2. First provider in PROVIDER_ORDER whose key resolves
 */
export declare function selectProviderWithKeyStore(env: Record<string, string | undefined>, opts: KeyStoreOpts): Promise<{
    provider: LLMProvider;
    key: string;
} | null>;
export declare function providerEnvVar(p: LLMProvider): string;
export declare function allProviders(): readonly LLMProvider[];
//# sourceMappingURL=select.d.ts.map