import type { DaoCorePluginApi } from "./types.js";
type PluginApiFacadeFields = Pick<DaoCorePluginApi, "agent" | "lifecycle" | "runContext" | "session">;
export type DaoCorePluginApiWithoutFacades = Omit<DaoCorePluginApi, keyof PluginApiFacadeFields>;
type PluginApiFacadeSource = Pick<DaoCorePluginApi, "clearRunContext" | "emitAgentEvent" | "enqueueNextTurnInjection" | "getRunContext" | "registerAgentEventSubscription" | "registerControlUiDescriptor" | "registerRuntimeLifecycle" | "registerSessionAction" | "registerSessionExtension" | "registerSessionSchedulerJob" | "scheduleSessionTurn" | "sendSessionAttachment" | "setRunContext" | "unscheduleSessionTurnsByTag">;
export declare function attachPluginApiFacades<T extends object>(api: T & PluginApiFacadeSource & Partial<PluginApiFacadeFields>): T & PluginApiFacadeFields;
export {};
