import type { RuntimeWorkTargetRef } from "./types.js"; export declare const SEND_ADMISSION_DECISIONS: readonly ["admit", "hold", "reject", "unknown"]; export type SendAdmissionDecision = (typeof SEND_ADMISSION_DECISIONS)[number]; export declare const SEND_ADMISSION_REASON_CODES: readonly ["admitted", "relationship_not_sendable", "policy_denied", "session_selection_required", "continuation_session_unavailable", "target_endpoint_unavailable", "missing_runtime_session_id", "runtime_work_target_unavailable", "capability_missing", "assignment_in_progress", "runtime_busy", "composer_read_only", "queued_recoverable", "setup_control_only", "message_loop_unproven", "receivability_unknown"]; export type SendAdmissionReasonCode = (typeof SEND_ADMISSION_REASON_CODES)[number]; export declare const SEND_ADMISSION_USER_ACTIONS: readonly ["none", "select_runtime_session", "wait", "refresh", "retry", "use_ordinary_node_conversation", "contact_owner_or_admin"]; export type SendAdmissionUserAction = (typeof SEND_ADMISSION_USER_ACTIONS)[number]; export type SendAdmissionActorKind = "owner" | "runtime_adapter" | "remote_node" | "system"; export type SendAdmissionMessageContextKind = "remote_first_contact" | "remote_continuation" | "runtime_mailbox_dispatch" | "owner_directed_runtime_session" | "runtime_adapter_claim"; export interface SendAdmissionRequest { actor: { kind: SendAdmissionActorKind; principal_id?: string; node_id?: string; }; recipient: { node_id: string; }; caller_hints?: { runtime_session_id?: string; endpoint_id?: string; runtime_work_target_ref?: RuntimeWorkTargetRef; selected_by_owner?: boolean; }; message_context: { kind: SendAdmissionMessageContextKind; source_message_id?: string; origin_scid?: string; origin_ncid?: string; owner_session_message_id?: string; }; } export interface SendAdmissionReceiverPath { kind: "runtime_pull" | "adapter_managed_turn" | "owner_session_delivery"; target_ref?: RuntimeWorkTargetRef; runtime_session_identity_key?: string; endpoint_id?: string; } export type SendAdmissionSourceFact = string | ({ kind: string; } & Record); export interface SendAdmissionResponse { decision: SendAdmissionDecision; business_receivable_now: boolean; reason_code: SendAdmissionReasonCode; receiver_path?: SendAdmissionReceiverPath; retryable: boolean; user_action: SendAdmissionUserAction; source_facts: SendAdmissionSourceFact[]; } export declare const SEND_ADMISSION_FIXTURES: { readonly admittedAdapterManagedTurn: { readonly decision: "admit"; readonly business_receivable_now: true; readonly reason_code: "admitted"; readonly receiver_path: { readonly kind: "adapter_managed_turn"; readonly target_ref: { readonly kind: "projection_endpoint"; readonly projection_endpoint_id: "ep1_codex"; readonly runtime_session_id: "thread_123"; readonly background_exchange_mode: "adapter_managed_turn"; }; readonly runtime_session_identity_key: "agent_1:codex:owner_1:a665a45920422f9d417e4867efdc4fb8"; readonly endpoint_id: "ep1_codex"; }; readonly retryable: false; readonly user_action: "none"; readonly source_facts: ["services_derived_runtime_work_target"]; }; readonly holdSessionSelectionRequired: { readonly decision: "hold"; readonly business_receivable_now: false; readonly reason_code: "session_selection_required"; readonly retryable: true; readonly user_action: "select_runtime_session"; readonly source_facts: ["multi_session_runtime_without_selected_session"]; }; readonly rejectSetupControlOnly: { readonly decision: "reject"; readonly business_receivable_now: false; readonly reason_code: "setup_control_only"; readonly retryable: false; readonly user_action: "contact_owner_or_admin"; readonly source_facts: ["setup_reachable_without_business_receiver_path"]; }; }; export declare function parseSendAdmissionResponse(value: unknown): SendAdmissionResponse | null; //# sourceMappingURL=send-admission.d.ts.map