import type { Opportunity, OpportunityGraphDatabase } from '../../shared/interfaces/database.interface.js'; /** Narrow persistence read port for authorizing a user-driven opportunity update. */ export type OpportunityUpdateAdmissionPort = Pick; export interface OpportunityUpdateAdmissionInput { opportunityId: string; viewerId: string; scopedNetworkId?: string; selectedIntentScope?: { scopeType?: 'intent'; scopeId?: string; }; } export type OpportunityUpdateAdmission = { kind: 'admitted'; opportunity: Opportunity; } | { kind: 'denied'; message: string; }; /** * Authorizes mutation only after an opaque existence/actor check, then applies * lifecycle, viewer-network, and selected-intent boundaries in that order. */ export declare function admitOpportunityUpdate(database: OpportunityUpdateAdmissionPort, input: OpportunityUpdateAdmissionInput): Promise;