import { i as NodmixConfig } from "./types.nodmix-Dph4_Y30.js";
import { t as PluginManifestRecord } from "./manifest-registry-CjkqeIvG.js";
import { n as createPluginActivationSource, r as normalizePluginsConfig } from "./config-state-CdnfMClI.js";

//#region src/plugin-sdk/facade-activation-check.runtime.d.ts
type FacadePluginManifestLike = Pick<PluginManifestRecord, "id" | "origin" | "enabledByDefault" | "enabledByDefaultOnPlatforms" | "rootDir" | "channels">;
type FacadeModuleLocation = {
  modulePath: string;
  boundaryRoot: string;
};
declare function resolveRegistryPluginModuleLocation(params: {
  dirName: string;
  artifactBasename: string;
  resolutionKey: string;
  env?: NodeJS.ProcessEnv;
}): FacadeModuleLocation | null;
declare function resolveTrackedFacadePluginId(params: {
  dirName: string;
  artifactBasename: string;
  location: FacadeModuleLocation | null;
  sourceExtensionsRoot: string;
  resolutionKey: string;
  env?: NodeJS.ProcessEnv;
}): string;
declare function resolveBundledPluginPublicSurfaceAccess(params: {
  dirName: string;
  artifactBasename: string;
  location: FacadeModuleLocation | null;
  sourceExtensionsRoot: string;
  resolutionKey: string;
  env?: NodeJS.ProcessEnv;
}): {
  allowed: boolean;
  pluginId?: string;
  reason?: string;
};
declare function evaluateBundledPluginPublicSurfaceAccess(params: {
  params: {
    dirName: string;
    artifactBasename: string;
  };
  manifestRecord: FacadePluginManifestLike;
  config: NodmixConfig;
  normalizedPluginsConfig: ReturnType<typeof normalizePluginsConfig>;
  activationSource: ReturnType<typeof createPluginActivationSource>;
  autoEnabledReasons: Record<string, string[]>;
}): {
  allowed: boolean;
  pluginId?: string;
  reason?: string;
};
declare function throwForBundledPluginPublicSurfaceAccess(params: {
  access: {
    allowed: boolean;
    pluginId?: string;
    reason?: string;
  };
  request: {
    dirName: string;
    artifactBasename: string;
  };
}): never;
declare function resolveActivatedBundledPluginPublicSurfaceAccessOrThrow(params: {
  dirName: string;
  artifactBasename: string;
  location: FacadeModuleLocation | null;
  sourceExtensionsRoot: string;
  resolutionKey: string;
  env?: NodeJS.ProcessEnv;
}): {
  allowed: boolean;
  pluginId?: string;
  reason?: string;
};
//#endregion
export { FacadePluginManifestLike, evaluateBundledPluginPublicSurfaceAccess, resolveActivatedBundledPluginPublicSurfaceAccessOrThrow, resolveBundledPluginPublicSurfaceAccess, resolveRegistryPluginModuleLocation, resolveTrackedFacadePluginId, throwForBundledPluginPublicSurfaceAccess };