/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.0-rc1
 * Contact: hello@goauthentik.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { PartialUser } from './PartialUser';
import type { Role } from './Role';
import type { RelatedGroup } from './RelatedGroup';
/**
 * Group Serializer
 * @export
 * @interface Group
 */
export interface Group {
    /**
     *
     * @type {string}
     * @memberof Group
     */
    readonly pk: string;
    /**
     *
     * @type {number}
     * @memberof Group
     */
    readonly numPk: number;
    /**
     *
     * @type {string}
     * @memberof Group
     */
    name: string;
    /**
     * Users added to this group will be superusers.
     * @type {boolean}
     * @memberof Group
     */
    isSuperuser?: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof Group
     */
    parents?: Array<string>;
    /**
     *
     * @type {Array<RelatedGroup>}
     * @memberof Group
     */
    readonly parentsObj: Array<RelatedGroup> | null;
    /**
     *
     * @type {Array<number>}
     * @memberof Group
     */
    users?: Array<number>;
    /**
     *
     * @type {Array<PartialUser>}
     * @memberof Group
     */
    readonly usersObj: Array<PartialUser> | null;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof Group
     */
    attributes?: {
        [key: string]: any;
    };
    /**
     *
     * @type {Array<string>}
     * @memberof Group
     */
    roles?: Array<string>;
    /**
     *
     * @type {Array<Role>}
     * @memberof Group
     */
    readonly rolesObj: Array<Role>;
    /**
     *
     * @type {Array<Role>}
     * @memberof Group
     */
    readonly inheritedRolesObj: Array<Role> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Group
     */
    readonly children: Array<string>;
    /**
     *
     * @type {Array<RelatedGroup>}
     * @memberof Group
     */
    readonly childrenObj: Array<RelatedGroup> | null;
}
/**
 * Check if a given object implements the Group interface.
 */
export declare function instanceOfGroup(value: object): value is Group;
export declare function GroupFromJSON(json: any): Group;
export declare function GroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): Group;
export declare function GroupToJSON(json: any): Group;
export declare function GroupToJSONTyped(value?: Omit<Group, 'pk' | 'num_pk' | 'parents_obj' | 'users_obj' | 'roles_obj' | 'inherited_roles_obj' | 'children' | 'children_obj'> | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=Group.d.ts.map