import type { FasedAgentConfig } from "../config/types.js";
import { type AuthProfileStore } from "./auth-profiles.js";
import type { ModelCatalogEntry } from "./model-catalog.js";
export declare function providerHasConfiguredCredential(cfg: FasedAgentConfig, provider: string): boolean;
export declare function normalizeProviderSet(providers: Iterable<string> | undefined): Set<string>;
export declare function buildUsableModelProviderSet(params: {
    cfg: FasedAgentConfig;
    catalog: Array<{
        provider: string;
    }>;
    storedProviders?: Iterable<string>;
    store?: AuthProfileStore;
}): Set<string>;
export declare function filterModelCatalogByProviders<T extends {
    provider: string;
}>(catalog: T[], providers: Iterable<string>): T[];
export declare function buildCredentialScopedAllowedModelSet(params: {
    cfg: FasedAgentConfig;
    catalog: ModelCatalogEntry[];
    defaultProvider: string;
    defaultModel?: string;
    storedProviders?: Iterable<string>;
    store?: AuthProfileStore;
}): {
    usableProviders: Set<string>;
    usableCatalog: ModelCatalogEntry[];
    allowedCatalog: ModelCatalogEntry[];
    allowedKeys: Set<string>;
    allowAny: boolean;
};
