import { AutoEncoder } from '@simonbackx/simple-encoding'; import { Event } from './Event.js'; import { StamhoofdFilter } from './filters/StamhoofdFilter.js'; import { GroupCategory } from './GroupCategory.js'; import { GroupPrivateSettings } from './GroupPrivateSettings.js'; import { GroupSettings } from './GroupSettings.js'; import { GroupType } from './GroupType.js'; import { Organization } from './Organization.js'; import { PermissionLevel } from './PermissionLevel.js'; import { StockReservation } from './StockReservation.js'; export declare enum GroupStatus { Open = "Open", Closed = "Closed", /** * @deprecated */ Archived = "Archived" } export declare function getGroupStatusName(status: GroupStatus): string; export declare class Group extends AutoEncoder { id: string; type: GroupType; organizationId: string; periodId: string; defaultAgeGroupId: string | null; waitingList: Group | null; stockReservations: StockReservation[]; /** * @deprecated */ cycle: number; settings: GroupSettings; createdAt: Date; deletedAt: Date | null; /** * Only set when you have access to this information */ privateSettings: GroupPrivateSettings | null; /** * Manually close a group */ status: GroupStatus; event: Event | null; parentGroup: Group | null; getDiffName(): import("./TranslatedString.js").TranslatedString; static defaultSort(this: unknown, a: Group, b: Group): 0 | 1 | -1; static nameSort(this: unknown, a: Group, b: Group): 0 | 1 | -1; getMemberCount({ waitingList }?: { waitingList?: boolean; }): number | null; /** * Return the pre registration date only if is is active right now */ get activePreRegistrationDate(): Date | null; /** * Closed now, but will open in the future */ get notYetOpen(): boolean; /** * No registrations and waiting list registrations are possible if closed */ get closed(): boolean; /** * Returns all parent and grandparents of this group */ getParentCategories(all: GroupCategory[], recursive?: boolean): GroupCategory[]; hasAccess(permissions: import('./LoadedPermissions.js').LoadedPermissions | null, allCategories: GroupCategory[], permissionLevel?: PermissionLevel): boolean; isPublic(allCategories: GroupCategory[]): boolean; hasReadAccess(permissions: import('./LoadedPermissions.js').LoadedPermissions | null, allCategories: GroupCategory[]): boolean; hasWriteAccess(permissions: import('./LoadedPermissions.js').LoadedPermissions | null, allCategories: GroupCategory[]): boolean; hasFullAccess(permissions: import('./LoadedPermissions.js').LoadedPermissions | null, allCategories: GroupCategory[]): boolean; get squareImage(): import("./files/Image.js").Image | null; /** * Return the period ids that we consider as active for a given * group and organization combination. */ getActivePeriodIds(organization: Organization | null): Set; getRecommendedFilter(organization?: Organization | null): StamhoofdFilter; static decode(...args: Parameters): any; } //# sourceMappingURL=Group.d.ts.map