import { r as DaoCoreConfig } from "./types.daocore-kp8IyikH.js";
import { r as EmbeddingProviderAdapter } from "./embedding-providers-Dwb106JS.js";
import { r as PluginDiagnostic } from "./manifest-types-DYm6ZA7y.js";
import { E as DaoCorePluginHookOptions, O as DaoCorePluginToolFactory, U as WebSearchProviderPlugin } from "./types-core-C88zUmhD.js";
import { r as AnyAgentTool } from "./common-BDN0bXby.js";
import { F as DaoCorePluginReloadRegistration, G as ImageGenerationProviderPlugin, Gn as SpeechProviderPlugin, Jn as VideoGenerationProviderPlugin, K as MediaUnderstandingProviderPlugin, L as DaoCorePluginSecurityAuditCollector, O as DaoCorePluginNodeHostCommand, Un as RealtimeTranscriptionProviderPlugin, Wn as RealtimeVoiceProviderPlugin, d as DaoCorePluginCliCommandDescriptor, gr as CliBackendPlugin, it as MusicGenerationProviderPlugin, l as DaoCorePluginApi, m as DaoCorePluginCommandDefinition, p as DaoCorePluginCliRegistrar, qn as UnifiedModelCatalogProviderPlugin, si as AgentHarness, sn as ProviderPlugin, tt as MigrationProviderPlugin, u as DaoCorePluginChannelRegistration, vt as PluginRegistrationMode, y as DaoCorePluginHostedMediaResolver, z as DaoCorePluginService } from "./types-DHSQkzyq2.js";
import { et as PluginHookName, q as PluginHookHandlerMap } from "./hook-types-DPDFYFH1.js";
import { Ao as PluginRuntimeLifecycleRegistration, Do as PluginControlUiDescriptor, Eo as PluginAgentEventSubscriptionRegistration, Go as OperatorScope, Lo as PluginSessionExtensionRegistration, Mo as PluginSessionActionRegistration, Uo as PluginToolMetadataRegistration, Wo as PluginTrustedToolPolicyRegistration, zo as PluginSessionSchedulerJobRegistration } from "./index-7GMgTC5k.js";
import { n as ChannelPlugin } from "./types.public-DHQb4Kl9.js";
import { n as GatewayRequestHandler } from "./types-D3enA0Vx.js";
import { a as PluginRegistryParams, i as PluginRegistry, o as PluginTextTransformsRegistration, r as PluginRecord } from "./registry-types-BQ26lhRo.js";
import { E as registerInternalHook } from "./internal-hooks-B-lc7D2y.js";
import { n as createPluginRegistry } from "./registry-DnnBulh_.js";
import { t as provider_catalog_runtime_d_exports } from "./provider-catalog-runtime-B7e02aat.js";
//#region src/plugin-sdk/test-helpers/public-surface-loader.d.ts
type AsyncBundledPluginPublicSurfaceLoader = <T extends object>(params: {
  pluginId: string;
  artifactBasename: string;
}) => Promise<T>;
type BundledPluginPublicSurfaceLoader = <T extends object>(params: {
  pluginId: string;
  artifactBasename: string;
}) => T;
declare const loadBundledPluginPublicSurface: AsyncBundledPluginPublicSurfaceLoader;
declare const loadBundledPluginPublicSurfaceSync: BundledPluginPublicSurfaceLoader;
declare function resolveWorkspacePackagePublicModuleUrl(params: {
  packageName: string;
  artifactBasename: string;
}): string;
//#endregion
//#region src/plugin-sdk/test-helpers/provider-catalog.d.ts
type ProviderRuntimeCatalogModule = Pick<typeof provider_catalog_runtime_d_exports, "augmentModelCatalogWithProviderPlugins">;
declare function importProviderRuntimeCatalogModule(): Promise<ProviderRuntimeCatalogModule>;
//#endregion
//#region src/plugin-sdk/test-helpers/import-side-effects.d.ts
declare function assertNoImportTimeSideEffects(params: {
  moduleId: string;
  forbiddenSeam: string;
  calls: readonly (readonly unknown[])[];
  why: string;
  fixHint: string;
}): void;
//#endregion
//#region src/plugin-sdk/test-helpers/string-utils.d.ts
declare function uniqueSortedStrings(values: readonly string[]): string[];
//#endregion
//#region src/plugin-sdk/test-helpers/contracts-testkit.d.ts
declare function createPluginRegistryFixture(config?: DaoCoreConfig, params?: {
  hostServices?: PluginRegistryParams["hostServices"];
}): {
  config: DaoCoreConfig;
  registry: {
    registry: PluginRegistry;
    createApi: (record: PluginRecord, params: {
      config: DaoCorePluginApi["config"];
      pluginConfig?: Record<string, unknown>;
      hookPolicy?: {
        allowPromptInjection?: boolean;
        allowConversationAccess?: boolean;
        timeoutMs?: number;
        timeouts?: Record<string, number>;
      };
      registrationMode?: PluginRegistrationMode;
    }) => DaoCorePluginApi;
    rollbackPluginGlobalSideEffects: (pluginId: string) => void;
    pushDiagnostic: (diag: PluginDiagnostic) => void;
    registerTool: (record: PluginRecord, tool: AnyAgentTool | DaoCorePluginToolFactory, opts?: {
      name?: string;
      names?: string[];
      optional?: boolean;
    }) => void;
    registerChannel: (record: PluginRecord, registration: DaoCorePluginChannelRegistration | ChannelPlugin, mode?: PluginRegistrationMode) => void;
    registerHostedMediaResolver: (record: PluginRecord, resolver: DaoCorePluginHostedMediaResolver) => void;
    registerProvider: (record: PluginRecord, provider: ProviderPlugin) => void;
    registerModelCatalogProvider: (record: PluginRecord, provider: UnifiedModelCatalogProviderPlugin) => void;
    registerAgentHarness: (record: PluginRecord, harness: AgentHarness) => void;
    registerCliBackend: (record: PluginRecord, backend: CliBackendPlugin) => void;
    registerTextTransforms: (record: PluginRecord, transforms: PluginTextTransformsRegistration["transforms"]) => void;
    registerEmbeddingProvider: (record: PluginRecord, adapter: EmbeddingProviderAdapter) => void;
    registerSpeechProvider: (record: PluginRecord, provider: SpeechProviderPlugin) => void;
    registerRealtimeTranscriptionProvider: (record: PluginRecord, provider: RealtimeTranscriptionProviderPlugin) => void;
    registerRealtimeVoiceProvider: (record: PluginRecord, provider: RealtimeVoiceProviderPlugin) => void;
    registerMediaUnderstandingProvider: (record: PluginRecord, provider: MediaUnderstandingProviderPlugin) => void;
    registerImageGenerationProvider: (record: PluginRecord, provider: ImageGenerationProviderPlugin) => void;
    registerVideoGenerationProvider: (record: PluginRecord, provider: VideoGenerationProviderPlugin) => void;
    registerMusicGenerationProvider: (record: PluginRecord, provider: MusicGenerationProviderPlugin) => void;
    registerWebSearchProvider: (record: PluginRecord, provider: WebSearchProviderPlugin) => void;
    registerMigrationProvider: (record: PluginRecord, provider: MigrationProviderPlugin) => void;
    registerGatewayMethod: (record: PluginRecord, method: string, handler: GatewayRequestHandler, opts?: {
      scope?: OperatorScope;
    }) => void;
    registerCli: (record: PluginRecord, registrar: DaoCorePluginCliRegistrar, opts?: {
      parentPath?: string[];
      commands?: string[];
      descriptors?: DaoCorePluginCliCommandDescriptor[];
    }) => void;
    registerReload: (record: PluginRecord, registration: DaoCorePluginReloadRegistration) => void;
    registerNodeHostCommand: (record: PluginRecord, nodeCommand: DaoCorePluginNodeHostCommand) => void;
    registerSecurityAuditCollector: (record: PluginRecord, collector: DaoCorePluginSecurityAuditCollector) => void;
    registerService: (record: PluginRecord, service: DaoCorePluginService) => void;
    registerCommand: (record: PluginRecord, command: DaoCorePluginCommandDefinition) => void;
    registerSessionExtension: (record: PluginRecord, extension: PluginSessionExtensionRegistration) => void;
    registerTrustedToolPolicy: (record: PluginRecord, policy: PluginTrustedToolPolicyRegistration) => void;
    registerToolMetadata: (record: PluginRecord, metadata: PluginToolMetadataRegistration) => void;
    registerControlUiDescriptor: (record: PluginRecord, descriptor: PluginControlUiDescriptor) => void;
    registerRuntimeLifecycle: (record: PluginRecord, lifecycle: PluginRuntimeLifecycleRegistration) => void;
    registerAgentEventSubscription: (record: PluginRecord, subscription: PluginAgentEventSubscriptionRegistration) => void;
    registerSessionSchedulerJob: (record: PluginRecord, job: PluginSessionSchedulerJobRegistration) => {
      id: string;
      pluginId: string;
      sessionKey: string;
      kind: string;
    } | undefined;
    registerSessionAction: (record: PluginRecord, action: PluginSessionActionRegistration) => void;
    registerHook: (record: PluginRecord, events: string | string[], handler: Parameters<typeof registerInternalHook>[1], opts: DaoCorePluginHookOptions | undefined, config: DaoCorePluginApi["config"], pluginConfig: unknown) => void;
    registerTypedHook: <K extends PluginHookName>(record: PluginRecord, hookName: K, handler: PluginHookHandlerMap[K], opts?: {
      priority?: number;
      timeoutMs?: number;
    }, policy?: {
      allowPromptInjection?: boolean;
      allowConversationAccess?: boolean;
      timeoutMs?: number;
      timeouts?: Record<string, number>;
    }) => void;
  };
};
declare function registerTestPlugin(params: {
  registry: ReturnType<typeof createPluginRegistry>;
  config: DaoCoreConfig;
  record: PluginRecord;
  register(api: DaoCorePluginApi): void;
}): void;
declare function registerVirtualTestPlugin(params: {
  registry: ReturnType<typeof createPluginRegistry>;
  config: DaoCoreConfig;
  id: string;
  name: string;
  source?: string;
  kind?: PluginRecord["kind"];
  contracts?: PluginRecord["contracts"];
  register(this: void, api: DaoCorePluginApi): void;
}): void;
//#endregion
export { assertNoImportTimeSideEffects as a, loadBundledPluginPublicSurfaceSync as c, uniqueSortedStrings as i, resolveWorkspacePackagePublicModuleUrl as l, registerTestPlugin as n, importProviderRuntimeCatalogModule as o, registerVirtualTestPlugin as r, loadBundledPluginPublicSurface as s, createPluginRegistryFixture as t };