export declare const AUTHORIZATION_ASSIGNMENT_VERSION_CONFLICT = "AUTHORIZATION_ASSIGNMENT_VERSION_CONFLICT"; export type AssignmentConflictDecision = { kind: "rebase"; currentRoleIds: readonly string[]; } | { kind: "abort"; currentRoleIds: readonly string[]; } | { kind: "missing"; }; export interface PlatformAssignmentEdit { readonly baseRoleIds: readonly string[]; readonly expectedVersion: number; readonly selectedRoleIds: readonly string[]; readonly userId: string; } export declare function sortedRoleIds(ids: readonly string[]): string[]; export declare function sameRoleSet(left: readonly string[], right: readonly string[]): boolean; export declare function createPlatformAssignmentEdit(input: { expectedVersion: number; roleIds: readonly string[]; userId: string; }): PlatformAssignmentEdit; export declare function decideAssignmentConflictAction(input: { baseRoleIds: readonly string[]; currentRoleIds: readonly string[] | undefined; }): AssignmentConflictDecision; export declare function isAuthorizationAssignmentConflictError(error: unknown): boolean;