import { type VcMeetingLiveManagedOrigin } from '../services/vc-meeting-send-policy.js'; export type SessionScopedIpcAuthDecision = { ok: true; } | { ok: false; error: 'origin_unproven' | 'managed_action_required'; }; export interface SessionScopedIpcIdentity { sessionId: string; larkAppId: string; chatId: string; rootMessageId: string | null; } /** Replace every caller-selectable route field with the authenticated * daemon-session identity while preserving endpoint-specific payload fields. */ export declare function bindSessionScopedIpcIdentity(payload: T, identity: SessionScopedIpcIdentity): T & SessionScopedIpcIdentity; /** * Narrow fallback for commands that legitimately originate inside a * read-isolated CLI and therefore cannot read the host IPC HMAC secret. * * The daemon resolves `liveOrigin` from the exact body session id; callers must * present that session's current rotating capability. The visible turn/attempt * tuple is never accepted as proof. Receiver sessions are denied unless the * endpoint is explicitly non-observable (currently SessionStart readiness). */ export declare function authorizeSessionScopedIpc(input: { trustedHost: boolean; sessionExists: boolean; receiverSession: boolean; allowReceiver: boolean; sessionId: string; liveOrigin?: VcMeetingLiveManagedOrigin; claimedCapability?: string; claimedTurnId?: string; claimedDispatchAttempt?: number; }): SessionScopedIpcAuthDecision; //# sourceMappingURL=daemon-ipc-session-auth.d.ts.map