export declare enum ScimSchema { CORE = "urn:scim:schemas:core:1.0", USER = "urn:ietf:params:scim:schemas:core:2.0:User", USER_ENTERPRISE = "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", LIST = "urn:ietf:params:scim:api:messages:2.0:ListResponse", PATCH = "urn:ietf:params:scim:api:messages:2.0:PatchOp", GROUP = "urn:ietf:params:scim:schemas:core:2.0:Group" } export declare enum OperationCode { replace = "replace", add = "add", remove = "remove" } export type ScimEmail = { primary: boolean; value: string; type: string; }; export declare enum ScimResourceType { USER = "User", GROUP = "Group" } type ScimResource = { schemas: ScimSchema[]; id: string; meta: ScimMeta; }; type ScimMeta = { resourceType: ScimResourceType; created: Date; lastModified: Date; location: string; }; export type ScimUserName = { formatted?: string; givenName: string; middleName?: string; familyName: string; }; export type ScimUser = ScimResource & { active: boolean | string; userName: string; displayName: string; name: ScimUserName; emails: ScimEmail[]; groups: ScimMember[]; }; type ListResponse = { schemas: ScimSchema[]; totalResults: number; startIndex: number; itemsPerPage: number; Resources: T[]; }; export type UsersListResponse = ListResponse; export type GroupsListResponse = ListResponse; export type ScimUserPatchOperation = { schemas: [ScimSchema.PATCH]; Operations: (UserReplaceOperation | UserReplacePathOperation | UserRemovePathOperation)[]; }; export type UserReplaceOperation = { op: unknown; value: Partial; }; export type UserReplacePathOperation = { op: unknown; value: string | boolean; path: string; }; export type UserRemovePathOperation = { op: unknown; path: string; value?: string | boolean; }; export type ScimGroupPatchOperation = { schemas: [ScimSchema.PATCH]; Operations: (GroupNameOperation | GroupMemberOperation)[]; }; export type GroupNameOperation = { op: unknown; value: { displayName: string; }; }; export type GroupMemberOperation = { op: unknown; path: string; value?: ScimMember[] | ScimMember; }; export type ScimGroup = ScimResource & { displayName: string; members?: ScimMember[]; }; export type ScimMember = { value: string; display?: string; type?: ScimMemberType; ref?: string; }; export declare enum ScimMemberType { USER = "User", GROUP = "Group" } export {}; //# sourceMappingURL=index.d.ts.map