import type { User, Group } from '../../typings';
export declare const toUserSCIMPayload: (user: User) => {
    userName: string;
    name: {
        givenName: string;
        familyName: string;
    };
    emails: {
        primary: boolean;
        value: string;
        type: string;
    }[];
    userId: string;
    active: boolean;
    rawAttributes: any;
};
export declare const toGroupSCIMPayload: (group: Group) => {
    displayName: string;
    groupId: string;
    rawAttributes: any;
};
export declare const toGroupMembershipSCIMPayload: (memberIds: string[], operation: "add" | "remove") => {
    Operations: {
        op: "add" | "remove";
        path: string;
        value: {
            value: string;
        }[];
    }[];
};
export declare const isUserUpdated: (existingUser: User, userFromProvider: User, ignoreFields: string[] | undefined) => boolean;
export declare const isGroupUpdated: (existingGroup: Group, groupFromProvider: Group, ignoreFields: string[] | undefined) => boolean;
export declare const compareAndFindDeletedGroups: (existingGroups: Group[] | null, groups: Group[]) => Group[];
export declare const compareAndFindDeletedUsers: (existingUsers: User[] | null, users: User[]) => User[];
export declare const compareAndFindDeletedMembers: (idsFromDB: string[], idsFromProvider: string[]) => string[];
export declare const compareAndFindNewMembers: (idsFromDB: string[], idsFromProvider: string[]) => string[];
