import { Obj } from '../entity.js';
import { ObjOptions } from './base.js';
export declare class OrganizationObj extends Obj<'Organization'> {
    readonly typeOf: "Organization";
    constructor(opts: ObjOptions);
}
export declare function isOrganizationObj(obj: any): obj is OrganizationObj;
export declare class GroupObj extends Obj<'Group'> {
    readonly typeOf: "Group";
    constructor(opts: ObjOptions);
}
export declare function isGroupObj(obj: any): obj is GroupObj;
export interface PersonObjOptions extends ObjOptions {
    username?: string;
    email?: string;
    phone?: string;
    instantMessenger?: string;
}
export declare class PersonObj extends Obj<'Person'> {
    readonly typeOf: "Person";
    username: string | undefined;
    email: string | undefined;
    phone: string | undefined;
    instantMessenger: string | undefined;
    get displayName(): string;
    constructor(opts: PersonObjOptions);
}
export declare function isPersonObj(obj: any): obj is PersonObj;
export interface ServiceAccountObjOptions extends ObjOptions {
    username: string;
}
export declare class ServiceAccountObj extends Obj<'ServiceAccount'> {
    readonly typeOf: "ServiceAccount";
    username: string;
    constructor(opts: ServiceAccountObjOptions);
}
export declare function isServiceAccountObj(obj: any): obj is ServiceAccountObj;
