import { i as OpenClawConfig } from "./types.openclaw-oSBece7v.js"; import { A as PreparedChannelNativeApprovalTarget, B as ChannelApprovalKind, M as ChannelApprovalNativePlannedTarget, O as ChannelNativeApprovalDeliveryCallbacks, P as ChannelApprovalNativeAdapter, f as ExecApprovalChannelRuntime, j as ChannelApprovalNativeDeliveryPlan, k as ChannelNativeApprovalTransportSpec, p as ExecApprovalChannelRuntimeAdapter } from "./approval-handler-runtime-types-DbMyJufD.js"; import { d as ExecApprovalResolved, l as ExecApprovalRequest } from "./exec-approvals-bouecjdj.js"; import { l as PluginApprovalResolved, s as PluginApprovalRequest } from "./plugin-approvals-BJKrB_Dr.js"; //#region src/infra/approval-native-runtime.d.ts type ApprovalRequest = ExecApprovalRequest | PluginApprovalRequest; type ApprovalResolved = ExecApprovalResolved | PluginApprovalResolved; type ChannelNativeApprovalPlanDeliveryResult = { entries: TPendingEntry[]; deliveryPlan: ChannelApprovalNativeDeliveryPlan; deliveredTargets: ChannelApprovalNativePlannedTarget[]; }; /** Delivers an approval request to the adapter-planned native targets and returns pending entries. */ declare function deliverApprovalRequestViaChannelNativePlan(params: { cfg: OpenClawConfig; accountId?: string | null; approvalKind: ChannelApprovalKind; request: TRequest; adapter?: ChannelApprovalNativeAdapter | null; prepareTarget: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; request: TRequest; }) => PreparedChannelNativeApprovalTarget | null | Promise | null>; deliverTarget: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: TPreparedTarget; request: TRequest; }) => TPendingEntry | null | Promise; onDeliveryError?: (params: { error: unknown; plannedTarget: ChannelApprovalNativePlannedTarget; request: TRequest; }) => void; onDuplicateSkipped?: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: TRequest; }) => void; onDelivered?: (params: { plannedTarget: ChannelApprovalNativePlannedTarget; preparedTarget: PreparedChannelNativeApprovalTarget; request: TRequest; entry: TPendingEntry; }) => void; }): Promise>; type ChannelNativeApprovalRuntimeAdapter = Omit, "deliverRequested"> & ChannelNativeApprovalTransportSpec & ChannelNativeApprovalDeliveryCallbacks & { channel?: string; channelLabel?: string; accountId?: string | null; nativeAdapter?: ChannelApprovalNativeAdapter | null; resolveApprovalKind?: (request: TRequest) => ChannelApprovalKind; buildPendingContent: (params: { request: TRequest; approvalKind: ChannelApprovalKind; nowMs: number; }) => TPendingContent | Promise; onStopped?: () => Promise | void; }; /** Creates the shared gateway approval runtime backed by channel-native delivery hooks. */ declare function createChannelNativeApprovalRuntime(adapter: ChannelNativeApprovalRuntimeAdapter): ExecApprovalChannelRuntime; //#endregion export { deliverApprovalRequestViaChannelNativePlan as n, createChannelNativeApprovalRuntime as t };