import { ICustomProperties } from '../core/index.js';
import { IRoleReferences } from '../user-role/index.js';
import { IUserReferences } from '../user/index.js';
import { IApplication } from '../application/index.js';
import { IDevicePermissions } from './IDevicePermissions.js';
/** Description of IUserGroup interface */
export interface IUserGroup {
    /** Uniquely identifies a User Group */
    id?: number;
    /** Descriptive Name of the Group */
    name?: string;
    /** Description of the Group */
    description?: string;
    /** Object contains all role references assigned to group */
    roles?: IRoleReferences;
    /** List of device permissions */
    devicePermissions?: IDevicePermissions;
    /** List of applications */
    applications?: IApplication[];
    /** List of custom properties */
    customProperties?: ICustomProperties;
    /** Link to this Resource */
    self: string;
    /** Object contains all user assigned to group */
    users?: IUserReferences;
    /**
     * Other custom keys
     */
    [key: string]: any;
}
export interface IUserGroupReference {
    self: string;
    group: Partial<IUserGroup>;
}
export interface IUserGroupReferences {
    /** List of user references */
    references: IUserGroupReference[];
    /** Link to this Resource */
    self: string;
}
//# sourceMappingURL=IUserGroup.d.ts.map