import { NamedObject } from '../Event.js'; import { Platform } from '../Platform.js'; import { OrganizationForPermissionCalculation, UserPermissions } from '../UserPermissions.js'; interface EventDataForPermission { organizationId: string | null; meta: { defaultAgeGroupIds: string[] | null; groups: NamedObject[] | null; organizationTagIds: string[] | null; }; } export declare class EventPermissionChecker { /** * Will throw error if not allowed to edit/add/delete this event * @param event * @returns Organization if event for specific organization, else null * @throws error if not allowed to write this event */ static checkEventAccessAsync(event: EventDataForPermission, { getOrganization, userPermissions, platform, }: { getOrganization: (id: string) => Promise; userPermissions: UserPermissions | null; platform: Platform; }): Promise; /** * Will throw error if not allowed to edit/add/delete this event * @param event * @throws error if not allowed to write this event */ static throwIfNoPermissionToWriteEvent(event: EventDataForPermission, { organization, userPermissions, platform, }: { organization: O | null; userPermissions: UserPermissions | null; platform: Platform; }): void; static hasPermissionToWriteEvent(event: EventDataForPermission, options: { organization: O | null; userPermissions: UserPermissions | null; platform: Platform; }): boolean; private static throwIfNoPermissionToWriteEventForOrganization; private static throwIfNoPermissionToWriteNationalOrRegionalEvent; } export {}; //# sourceMappingURL=EventPermissionChecker.d.ts.map