import { i as NodmixConfig } from "./types.nodmix-Dph4_Y30.js";
import { m as ExternalCliAuthDiscovery } from "./store-DRhtn3tr.js";
import { n as PluginMetadataSnapshot } from "./plugin-metadata-snapshot.types-B0N9bMOq.js";
import { n as ModelInputType, t as ModelCatalogEntry } from "./model-catalog.types-BEl4vmRg.js";
import { Ai as AuthStorage, Ci as ModelRegistry, Ii as PluginModelCatalogMetadataSnapshot } from "./index-BULKRGR-.js";
//#region src/agents/agent-auth-credentials.d.ts
type AgentApiKeyCredential = {
  type: "api_key";
  key: string;
};
type AgentOAuthCredential = {
  type: "oauth";
  access: string;
  refresh: string;
  expires: number;
};
type AgentCredential = AgentApiKeyCredential | AgentOAuthCredential;
type AgentCredentialMap = Record<string, AgentCredential>;
//#endregion
//#region src/agents/agent-auth-discovery-core.d.ts
type AgentDiscoveryAuthLookupOptions = {
  config?: NodmixConfig;
  workspaceDir?: string;
  env?: NodeJS.ProcessEnv;
};
declare function addEnvBackedAgentCredentials(credentials: AgentCredentialMap, options?: AgentDiscoveryAuthLookupOptions): AgentCredentialMap;
declare function scrubLegacyStaticAuthJsonEntriesForDiscovery(pathname: string): void;
//#endregion
//#region src/agents/agent-auth-discovery.d.ts
type DiscoverAuthStorageOptions = {
  externalCli?: ExternalCliAuthDiscovery;
  readOnly?: boolean;
  skipExternalAuthProfiles?: boolean;
  skipCredentials?: boolean;
  syntheticAuthProviderRefs?: Iterable<string>;
} & AgentDiscoveryAuthLookupOptions;
declare function resolveAgentCredentialsForDiscovery(agentDir: string, options?: DiscoverAuthStorageOptions): AgentCredentialMap;
declare namespace agent_model_discovery_d_exports {
  export { AuthStorage, DiscoverAuthStorageOptions, ModelRegistry, addEnvBackedAgentCredentials, discoverAuthStorage, discoverModels, normalizeDiscoveredAgentModel, resolveAgentCredentialsForDiscovery, scrubLegacyStaticAuthJsonEntriesForDiscovery };
}
type DiscoverModelsOptions = {
  config?: NodmixConfig;
  providerFilter?: string;
  pluginMetadataSnapshot?: PluginModelCatalogMetadataSnapshot;
  workspaceDir?: string;
  normalizeModels?: boolean;
};
declare function normalizeDiscoveredAgentModel<T>(value: T, agentDir: string): T;
declare function discoverAuthStorage(agentDir: string, options?: DiscoverAuthStorageOptions): AuthStorage;
declare function discoverModels(authStorage: AuthStorage, agentDir: string, options?: DiscoverModelsOptions): ModelRegistry;
//#endregion
//#region src/agents/model-catalog-lookup.d.ts
declare function modelSupportsInput(entry: ModelCatalogEntry | undefined, input: ModelInputType): boolean;
declare function findModelInCatalog(catalog: ModelCatalogEntry[], provider: string, modelId: string): ModelCatalogEntry | undefined;
declare function findModelCatalogEntry(catalog: ModelCatalogEntry[], params: {
  provider?: string;
  modelId: string;
}): ModelCatalogEntry | undefined;
//#endregion
//#region src/agents/model-catalog.d.ts
type AgentDiscoveryModule = typeof agent_model_discovery_d_exports;
declare function resetModelCatalogCache(): void;
declare function resetModelCatalogCacheForTest(): void;
declare function setModelCatalogImportForTest(loader?: () => Promise<AgentDiscoveryModule>): void;
declare function loadManifestModelCatalog(params: {
  config: NodmixConfig;
  workspaceDir?: string;
  env?: NodeJS.ProcessEnv;
  fallbackToMetadataScan?: boolean;
  metadataSnapshot?: PluginMetadataSnapshot;
}): ModelCatalogEntry[];
declare function loadModelCatalog(params?: {
  config?: NodmixConfig;
  useCache?: boolean;
  readOnly?: boolean;
  metadataSnapshot?: PluginMetadataSnapshot;
}): Promise<ModelCatalogEntry[]>;
/**
 * Check if a model supports image input based on its catalog entry.
 */
declare function modelSupportsVision(entry: ModelCatalogEntry | undefined): boolean;
/**
 * Check if a model supports native document/PDF input based on its catalog entry.
 */
declare function modelSupportsDocument(entry: ModelCatalogEntry | undefined): boolean;
//#endregion
export { resetModelCatalogCache as a, findModelCatalogEntry as c, modelSupportsVision as i, findModelInCatalog as l, loadModelCatalog as n, resetModelCatalogCacheForTest as o, modelSupportsDocument as r, setModelCatalogImportForTest as s, loadManifestModelCatalog as t, modelSupportsInput as u };