import { IDemoRecord, ITitledRecord, ITotalsHolder } from './dto-models'; import { CommuneType, CountryId } from './types'; export declare const enum SpaceCounter { activities = "activities", assets = "assets", assetGroups = "assetGroups", contacts = "contacts", documents = "documents", liabilities = "liabilities", members = "members", memberGroups = "memberGroups", overdues = "overdues", pupils = "pupils", regularTasks = "regularTasks", staff = "staff", todos = "todos", upcomings = "upcomings" } export interface SpaceCounts { [SpaceCounter.activities]?: number; [SpaceCounter.assets]?: number; [SpaceCounter.assetGroups]?: number; [SpaceCounter.contacts]?: number; [SpaceCounter.documents]?: number; [SpaceCounter.regularTasks]?: number; [SpaceCounter.liabilities]?: number; [SpaceCounter.pupils]?: number; [SpaceCounter.staff]?: number; [SpaceCounter.members]?: number; [SpaceCounter.memberGroups]?: number; [SpaceCounter.overdues]?: number; [SpaceCounter.todos]?: number; [SpaceCounter.upcomings]?: number; } export declare function incrementNumberOf(dto: Dbo, init: () => NumberOf, counter: keyof NumberOf, v?: number): Dbo; export declare function newSpaceCounts(numberOf?: SpaceCounts): SpaceCounts; export interface ICommuneDbo extends IDemoRecord, ITitledRecord, ITotalsHolder { readonly countryId?: CountryId; readonly type: CommuneType; readonly desc?: string; readonly userID: string; readonly order?: number; readonly numberOf?: SpaceCounts; readonly membersCountByRole?: Record; readonly noContactRoles?: string[]; } export declare function isCommuneShouldHoldMembersInfo(type: CommuneType): boolean; export declare const personalCommuneIdPrefix = "u_"; export declare function getUserPersonalCommuneID(userID?: string): string; export declare function isPersonalCommuneId(id: string): boolean; export declare function isUserPersonalCommune(communeID: string, userID?: string): boolean;