/** * Network Membership Graph State. * Handles CRUD operations for network memberships (index_members table). * * ## Membership authority policy * * - `create` / self-join: allowed only when `joinPolicy: 'anyone'`. * - `create` / invite (targetUserId ≠ userId): caller must be a member; * for `invite_only` networks, caller must also be the owner. * - `delete`: owner-only; the owner themselves cannot be removed via this path * (delete the network instead). * - `read`: caller must be a member of the network to list its members. * * Flow: * START → routerNode → {addMemberNode | listMembersNode | removeMemberNode} → END * * IND-546: canonical home — previously network/membership/membership.state.ts. */ export declare const NetworkMembershipGraphState: import("@langchain/langgraph").AnnotationRoot<{ /** User performing the action (the actor). Always required. */ userId: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; /** Target network. Required for all operations. */ networkId: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; /** Operation mode. */ operationMode: import("@langchain/langgraph").BaseChannel<"delete" | "create" | "read", "delete" | "create" | "read" | import("@langchain/langgraph").OverwriteValue<"delete" | "create" | "read">, unknown>; /** For create/delete: the user being added/removed. */ targetUserId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; /** Output for read mode: list of members. */ readResult: import("@langchain/langgraph").BaseChannel<{ networkId: string; count: number; members: Array<{ userId: string; name: string; avatar: string | null; permissions: string[]; intentCount: number; joinedAt: Date; }>; } | undefined, { networkId: string; count: number; members: Array<{ userId: string; name: string; avatar: string | null; permissions: string[]; intentCount: number; joinedAt: Date; }>; } | import("@langchain/langgraph").OverwriteValue<{ networkId: string; count: number; members: Array<{ userId: string; name: string; avatar: string | null; permissions: string[]; intentCount: number; joinedAt: Date; }>; } | undefined> | undefined, unknown>; /** Output for create/delete modes. */ mutationResult: import("@langchain/langgraph").BaseChannel<{ success: boolean; message?: string; error?: string; } | undefined, { success: boolean; message?: string; error?: string; } | import("@langchain/langgraph").OverwriteValue<{ success: boolean; message?: string; error?: string; } | undefined> | undefined, unknown>; /** Error message if graph could not complete. */ error: import("@langchain/langgraph").BaseChannel | null, unknown>; }>;