import { ITitledRecord } from './dto-models'; import { ICommuneDbo } from './dto-commune'; import { CommuneType, CountryId } from './types'; export interface IUserCommuneInfo { id?: string; shortId?: string; title?: string; type: CommuneType; } export declare function createUserCommuneInfoFromCommuneDto(communeDto: ICommuneDbo, shortId?: string): IUserCommuneInfo; export interface IUserDbo extends ITitledRecord { countryIds?: CountryId[]; created: { hostOrApp: string; at: string; }; readonly communes?: readonly IUserCommuneInfo[]; communesCount?: number; isAnonymous: boolean; isDemo?: boolean; autogeneratedPassword?: string; emailVerified?: boolean; email?: string; emailOriginal?: string; gender?: 'male' | 'female' | 'undisclosed'; } export declare function addCommuneToUserDto(userDto: IUserDbo, communeInfo: IUserCommuneInfo): IUserDbo; export declare class UserModel { static getCommuneInfoByShortId(id: string, communes?: readonly IUserCommuneInfo[]): IUserCommuneInfo | undefined; static getCommuneInfoById(id: string, communes: readonly IUserCommuneInfo[]): IUserCommuneInfo | undefined; }