import { IntegrationTypes, OrganizationType, Partner, SamlProvider, Theme } from "./etc.js"; import { MaximumScheduleSpan } from "../vertices/properties/maximum-schedule-span.js"; import { PlannedScheduledDuration } from "../vertices/properties/planned-scheduled-duration.js"; import { PublicId } from "../vertices/properties/index.js"; //#region src/core/interfaces/other/companies.d.ts type Identifier = { value: string; type: 'VAT' | 'SchoolCode' | 'MunicipalityCode' | 'SchoolSoft' | 'Sdui' | 'Edlevo' | 'Edaktus'; country: string; }; type CoplanUsageLimits = { /** * The period over which usage is measured. * - `'day'` → rolling 24 h window (UTC calendar day) * - `'week'` → rolling 7-day window * - `'month'` → rolling 30-day window */ period: 'day' | 'week' | 'month'; /** Maximum total cost in USD. Requests exceeding this are rejected with 429. */ maxCostUSD: number; }; type AppFeature = { substitutionPlanner?: { enabled: boolean; }; statisticsModule?: { /** * Enables the whole statistics module. */ enabled?: boolean; scb?: boolean; lunchCongestion?: boolean; }; coplan?: { enabled: boolean; limit?: CoplanUsageLimits | null; }; includeStepGuide?: boolean; }; type Address = { type: string; streetAddress: string; addressLine2?: string; addressLine3?: string; postalCode: string; locality: string; state?: string; region?: string; country: string; geoCoordinates: { latitude: string; longitude: string; }; }; type TimeRosterSection = { start: string; end: string; id: string; name: string; }; type PublicConfig = { filters: { groups: boolean; teachers: boolean; inLocations: boolean; tags: boolean; subjects: boolean; subGroups: boolean; }; showTeacherWorkingHours: boolean; multipleSelection: boolean; timeFilters: { all: boolean; periods: boolean; }; lockedTimes: boolean; }; type AutoSyncConfig = { enabled: boolean; integration?: IntegrationTypes; weekdaysOnly?: boolean; time?: string; }; declare const INACTIVITY_ACTIONS: { readonly REFRESH: "refresh"; readonly LOGOUT: "logout"; }; type InactivityAction = (typeof INACTIVITY_ACTIONS)[keyof typeof INACTIVITY_ACTIONS]; type InactivitySettings = { /** * In units of minutes */ time: number; action: InactivityAction; }; type GlobalDefaultValues = { dayStart: string; dayEnd: string; numDays: number; potentialCenter?: string; minimizeTeacherGaps?: boolean; defaultGroupMinimumBreakLength?: number; defaultEventMinimumBreakLength?: number; defaultDependencyMinimumBreakLength?: number; defaultPlannedScheduledDuration?: PlannedScheduledDuration; defaultMaximumScheduleSpan?: MaximumScheduleSpan; defaultEventDurationVariance?: number; }; declare namespace Company { export type core = { readonly id: PublicId; associatedPartner?: Partner | null; createdAt?: string; }; type optionals = { name?: string; logo?: string; country?: string; timezone?: string; environment: { theme?: Theme; organizationType?: OrganizationType; appFeatures?: AppFeature; canCreateCompanies?: boolean; }; identifiers: Identifier[]; addresses: Address[]; constituentTypes: string[]; samlProviders?: SamlProvider[]; publicSettings?: PublicConfig; autoSync?: AutoSyncConfig; organization?: { name?: string; logo?: string; country?: string; inactivitySettings?: InactivitySettings; constituentTypes?: string[]; environment?: Company.complete['environment']; }; inactivitySettings?: InactivitySettings; timeRoster?: TimeRosterSection[]; globalDefaultValues?: GlobalDefaultValues; }; export type complete = core & optionals; export {}; } //#endregion export { Address, AutoSyncConfig, Company, CoplanUsageLimits, GlobalDefaultValues, INACTIVITY_ACTIONS, InactivityAction, InactivitySettings, PublicConfig, TimeRosterSection }; //# sourceMappingURL=companies.d.ts.map