export type Role = "admin" | "viewer" | "member"; export type DateFilter = "day" | "week" | "month" | "year"; export type PublicEnv = { URL: string; CDN_URL: string; COLLABORATION_URL: string; AWS_S3_UPLOAD_BUCKET_URL: string; AWS_S3_ACCELERATE_URL: string; DEPLOYMENT: string | undefined; ENVIRONMENT: string; SENTRY_DSN: string | undefined; TEAM_LOGO: string | undefined; SLACK_CLIENT_ID: string | undefined; SLACK_APP_ID: string | undefined; MAXIMUM_IMPORT_SIZE: number; SUBDOMAINS_ENABLED: boolean; EMAIL_ENABLED: boolean; DEFAULT_LANGUAGE: string; GOOGLE_ANALYTICS_ID: string | undefined; RELEASE: string | undefined; }; export enum IntegrationType { Post = "post", Command = "command", Embed = "embed", } export enum CollectionPermission { Read = "read", ReadWrite = "read_write", } export type IntegrationSettings = T extends IntegrationType.Embed ? { url: string } : T extends IntegrationType.Post ? { url: string; channel: string; channelId: string } : T extends IntegrationType.Post ? { serviceTeamId: string } : | { url: string } | { url: string; channel: string; channelId: string } | { serviceTeamId: string }; export enum UserPreference { RememberLastPath = "rememberLastPath", UseCursorPointer = "useCursorPointer", } export type UserPreferences = { [key in UserPreference]?: boolean };