import type { KlawPluginApi } from "./types.js";
type PluginApiFacadeFields = Pick<KlawPluginApi, "agent" | "lifecycle" | "runContext" | "session">;
export type KlawPluginApiWithoutFacades = Omit<KlawPluginApi, keyof PluginApiFacadeFields>;
type PluginApiFacadeSource = Pick<KlawPluginApi, "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 {};
