import type { ScopeMembership, ToolScopeEnvelope } from "../agent/tool.scope.js"; import type { NetworkAssignmentMetadata, NetworkAssignmentMode, NetworkAssignmentPromptPresence, NetworkAssignmentRawScores, NetworkAssignmentResourceType, NetworkAssignmentScope } from "../schemas/network-assignment.schema.js"; /** Centralized default for unified premise/intent network assignment. */ export declare const DEFAULT_NETWORK_ASSIGNMENT_THRESHOLD = 0.7; export interface PromptPresenceInput { indexPrompt?: string | null; memberPrompt?: string | null; } export type AssignmentScopeMembership = ScopeMembership | string; export interface ResolveAssignmentNetworkScopeArgs extends ToolScopeEnvelope { memberships: AssignmentScopeMembership[]; /** @deprecated Use `scopeType: 'network'` + `scopeId`. */ networkScopeId?: string; } export interface BuildNetworkAssignmentDecisionArgs extends PromptPresenceInput { resourceType: NetworkAssignmentResourceType; mode: NetworkAssignmentMode; scope: NetworkAssignmentScope; rawScores?: NetworkAssignmentRawScores | null; threshold?: number; evaluator?: string; source?: string; reason?: string; createdAt?: string; } export interface NetworkAssignmentDecision { assigned: boolean; finalScore: number; metadata: NetworkAssignmentMetadata; } /** * Classifies whether a network/member prompt pair can filter a resource. * * @param input - Network and member prompt values to inspect. * @returns Prompt-presence classification for assignment policy decisions. */ export declare function classifyPromptPresence(input: PromptPresenceInput): NetworkAssignmentPromptPresence; /** * Resolves the networks to evaluate: all memberships in global scope, or the * focused network plus personal memberships in network scope. The focused * network must also be a membership to avoid broadening scope accidentally. * * @param args - User memberships plus optional active network scope. * @returns Network IDs that assignment should evaluate. */ export declare function resolveAssignmentNetworkScope(args: ResolveAssignmentNetworkScopeArgs): string[]; /** * Builds a unified assignment decision and metadata envelope. * * @param args - Assignment resource, scope, prompt, score, and provenance inputs. * @returns Assignment decision and explainability metadata. */ export declare function buildNetworkAssignmentDecision(args: BuildNetworkAssignmentDecisionArgs): NetworkAssignmentDecision; /** * Combines index/member scores according to available prompt filtration. * * @param rawScores - Optional normalized index and member scores. * @param promptPresence - Which prompts are present for this assignment decision. * @returns Final normalized score in the 0..1 range. */ export declare function combineAssignmentScores(rawScores: NetworkAssignmentRawScores, promptPresence: NetworkAssignmentPromptPresence): number;