import { type ServiceId, type ServiceProviderId } from "../../server/service-providers.js"; export declare const SERVICE_PROVIDERS_ADMIN_REQUIRED_ERROR_CODE = "service_providers_admin_required"; /** * What can power a provider for the caller: * - `org`: an organization key (or the organization's Builder.io connection). * - `personal`: only the caller's own key or connection. * - `none`: nothing yet. * - `unavailable`: the credential store could not be read. Retry; it is not "none". */ export type ServiceProviderKeyState = "org" | "personal" | "none" | "unavailable"; export interface ServiceProviderOptionStatus { provider: ServiceProviderId; /** The secret this provider reads. Absent for Builder.io. */ keyName?: string; keyState: ServiceProviderKeyState; } export interface ServiceProviderServiceStatus { service: ServiceId; /** The organization's choice, or null for the default order. */ provider: ServiceProviderId | null; /** * The provider that would answer next, from the choice and the key states. * Null when nothing can. */ effectiveProvider: ServiceProviderId | null; /** Every provider that can power this service, in default order. */ options: ServiceProviderOptionStatus[]; } export interface ServiceProvidersStatus { /** The caller is an owner or admin and may change the choices. */ canManage: boolean; services: ServiceProviderServiceStatus[]; updatedAt: number | null; updatedBy: string | null; /** Set calls only: whether the choice actually changed. */ changed?: boolean; /** * Set calls only: the provider that answers for Embeddings changed, so * existing vectors no longer match. Brain re-embeds through `backfill-search-embeddings`. */ reindexRequired?: boolean; } declare const _default: import("../../action.js").ActionDefinition<{ service?: "embeddings" | "images" | "voice" | undefined; provider?: "builder" | "cohere" | "gemini" | "groq" | "openai" | "voyage" | null | undefined; }, ServiceProvidersStatus>; export default _default;