import "./index-ChIfeWzk.js";
import { mt as CredentialSessionFactoryArgs, rt as AnyCredentialType, st as CredentialHealth } from "./ItemsInputNormalizer-CFkfNMLt.js";
import "./CodemationAppContext-K51b7oXe.js";
import "./CodemationWhitelabelConfig-Ca2mCUeC.js";
import { i as CredentialInstanceService, n as CredentialType, r as CredentialBindingService } from "./CredentialServices-B3wPyp2y.js";
import "./CredentialContractsRegistry-Dgu-rEXi.js";

//#region src/infrastructure/credentials/OpenAiApiKeyCredentialShapes.types.d.ts
/**
 * Typed shapes for the `openai.apiKey` credential (public fields, secret material, session object).
 */
type OpenAiApiKeyPublicConfig = Readonly<{
  baseUrl?: string;
}>;
type OpenAiApiKeyMaterial = Readonly<{
  apiKey?: string;
}>;
type OpenAiApiKeySession = Readonly<{
  apiKey: string;
  baseUrl?: string;
}>;
//#endregion
//#region src/infrastructure/credentials/OpenAiApiKeyCredentialHealthTester.d.ts
/**
 * Verifies an OpenAI-compatible API key by calling the provider's models list endpoint
 * (GET `/v1/models` relative to the configured base URL).
 */
declare class OpenAiApiKeyCredentialHealthTester {
  private readonly fetchImpl;
  constructor(fetchImpl: typeof globalThis.fetch);
  test(args: CredentialSessionFactoryArgs<OpenAiApiKeyPublicConfig, OpenAiApiKeyMaterial>): Promise<CredentialHealth>;
  private resolveModelsListUrl;
  private parseErrorMessage;
}
//#endregion
//#region src/infrastructure/credentials/OpenAiApiKeyCredentialTypeFactory.d.ts
/**
 * Builds the OpenAI-compatible API key credential (`openai.apiKey`) registration.
 * Used by {@link FrameworkBuiltinCredentialTypesRegistrar} and may be listed in {@link CodemationConfig.credentialTypes}
 * so consumer apps always register the type even when bootstrap order differs.
 */
declare class OpenAiApiKeyCredentialTypeFactory {
  private readonly healthTester;
  constructor(healthTester: OpenAiApiKeyCredentialHealthTester);
  createCredentialType(): CredentialType<OpenAiApiKeyPublicConfig, OpenAiApiKeyMaterial, OpenAiApiKeySession>;
}
//#endregion
//#region src/credentials.d.ts
declare const openAiApiKeyCredentialType: AnyCredentialType;
//#endregion
export { type AnyCredentialType, CredentialBindingService, CredentialInstanceService, type CredentialSessionFactoryArgs, type CredentialType, OpenAiApiKeyCredentialHealthTester, OpenAiApiKeyCredentialTypeFactory, type OpenAiApiKeyMaterial, type OpenAiApiKeyPublicConfig, type OpenAiApiKeySession, openAiApiKeyCredentialType };
//# sourceMappingURL=credentials.d.ts.map