import type { OrganizationMember, OrganizationMembershipRole, OrganizationRetentionPolicy } from "../types.js"; /** The organization settings pages, in nav order. */ export declare const ORGANIZATION_ADMIN_SECTIONS: readonly ["general", "people", "workspaces", "identity", "models", "integrations", "agents", "insights", "billing", "developer", "security"]; export type OrganizationAdminSection = (typeof ORGANIZATION_ADMIN_SECTIONS)[number]; /** Section names older links still use, and the page each one now lives on. */ export declare const LEGACY_ORGANIZATION_SECTIONS: { readonly overview: "general"; readonly knowledge: "identity"; readonly recovery: "security"; readonly retention: "security"; }; export type LegacyOrganizationAdminSection = keyof typeof LEGACY_ORGANIZATION_SECTIONS; /** Any section value a URL may carry, mapped onto today's page. */ export declare function parseOrganizationSection(value: unknown): OrganizationAdminSection | undefined; export type OrganizationAdminResource = "integrations" | "overview" | "private-sessions" | "privacy" | "agent-admin-access" | "members" | "admin-invitations" | "incoming-invitations" | "recovery" | "retention" | "billing" | "invoices" | "entitlements"; export type OrganizationAdminOperationLane = "read" | "mutation"; export type OrganizationAdminOperationSlot = `${OrganizationAdminResource}:${OrganizationAdminOperationLane}`; export type OrganizationAdminIdentity = { principalGeneration: number; subjectId: string; organizationId: string; workspaceId: string; }; export type OrganizationAdminOperation = { identity: OrganizationAdminIdentity; resource: OrganizationAdminResource; lane: OrganizationAdminOperationLane; sequence: number; }; export declare function organizationAdminOperationSlot(resource: OrganizationAdminResource, lane: OrganizationAdminOperationLane): OrganizationAdminOperationSlot; export declare function organizationAdminIdentityKey(identity: OrganizationAdminIdentity): string; export declare function sameOrganizationAdminIdentity(left: OrganizationAdminIdentity | null, right: OrganizationAdminIdentity): boolean; export declare function beginOrganizationAdminOperation(input: { identity: OrganizationAdminIdentity; resource: OrganizationAdminResource; lane: OrganizationAdminOperationLane; previousSequence: number; }): OrganizationAdminOperation; export declare function ownsOrganizationAdminOperation(input: { currentIdentity: OrganizationAdminIdentity | null; currentOperation: OrganizationAdminOperation | null; accepted: OrganizationAdminOperation; }): boolean; /** Stable, non-reversible display identity until the API exposes safe profile data. */ export declare function maskedOrganizationSubject(subjectId: string): string; export type OrganizationMemberCapabilities = { canChangeRole: boolean; allowedRoles: OrganizationMembershipRole[]; canSuspend: boolean; canReactivate: boolean; canOffboard: boolean; }; /** Mirrors migration 0263's owner/admin/member transition authority. */ export declare function organizationMemberCapabilities(actorRole: OrganizationMembershipRole | null, target: Pick, activeOwnerCount: number): OrganizationMemberCapabilities; export declare function canInviteOrganizationRole(actorRole: OrganizationMembershipRole | null, invitedRole: OrganizationMembershipRole): boolean; export declare function canRevokeOrganizationInvitation(actorRole: OrganizationMembershipRole | null, invitedRole: OrganizationMembershipRole): boolean; export declare function validRetentionDays(value: number): boolean; export declare function retentionPolicySummary(policy: Pick): string; export declare function isOrganizationConflict(error: unknown): boolean;