import { FormTemplate } from './form-template.type'; import { FormNavigationBar } from './form-navigation-bar.type'; export interface Saml { authenticationLink: string; autoRedirectToSamlServer: boolean; displayAuthenticationLink: boolean; signOutURL?: string; } export interface AuthenticationProviders { saml: Saml; } export interface DateFormat { date: string; general: string; shortMonth: string; time: string; } export interface ImageCompression { format?: string; encoderOptions?: number; } export interface ImageViewer { extensionNameMap: { [e: string]: string; }; supportedExtensions: string[]; supportedVideo: string[]; imageCompression?: ImageCompression; disableCompression: boolean; } export interface Road { minResolution: number; } export interface Tile { road: Road; } export interface TileServer { crossOrigin?: any; url: string; } export interface BoxCoordinates { topLeftCoord: [number, number]; bottomRightCoord: [number, number]; } export interface GeohashBound { geohash: string[]; } export interface UrlConfigBound { urlConfigBound: string; } export type DataBound = BoxCoordinates | GeohashBound | UrlConfigBound; export interface MapViewsToCache { url: string; name?: string; minZoom: number; maxZoom: number; styleLocationUrls?: string[]; dataBounds?: DataBound[]; } export interface OpenLayers { googleMapsKey: string; tile: Tile; tileServer: TileServer; useCurrentLocation: boolean; mapViewsToCache?: MapViewsToCache[]; } export interface FileUploader { defaultTemplateId: string; relatedDocumentField: string; fileUploaderField: string; } export interface CommandBarCSS { background: string; boxShadow: string; } export interface Offline { cacheRetryInterval?: number; dexieAddons?: any[]; hideOperateOffline?: boolean; } export interface ServerStart { maxAttempts?: number; retryInterval?: number; } export interface NavigationBar { hideGeneralSearch?: boolean; } export interface DocumentIdRules { minimumLength?: number; } export interface CSS { mainFilePath?: string; mainFilePaths?: string[]; } export interface Form { enableDarkMode?: boolean; } export interface ClientConfig { authenticationProviders?: AuthenticationProviders; disableAccountCreation?: boolean; addressMapZoomLevel?: number; cachingNotAllowed?: boolean; dateFormat?: DateFormat; imageViewer?: ImageViewer; defaultTemplate?: string; googleMapsKey?: string; minAutoCompleteLength?: number; openLayers?: OpenLayers; ruleSetIncludeTemplateId?: string; ruleSetLogTemplateId?: string; ruleSetTemplateId?: string; templateGeneratorItemsTplId?: string; fileUploader?: FileUploader; commandBarCSS?: CommandBarCSS; urlRoot?: string; maxSearchQueryLength?: number; componentBasePath?: string; vendorLibraryBasePath?: string; publicSignupURL?: string; enableTemplateLoadAnimation?: boolean; browserDocumentTitle?: string; navigationBar?: NavigationBar; documentIdRules?: DocumentIdRules; useSaveConflictResolution?: boolean; serverStart?: ServerStart; cachingAutoEnabled?: boolean; maxUploadSize?: string; httpRequestThrottleLimit?: number; defaultURL?: string; backupChunkSize?: number; pollerLookupInterval?: number; unsyncedRecordCheckTime?: number; socketIO?: any; defaultSearchProvider?: string; cachingEnableTemplate?: FormTemplate[]; offline?: Offline; formNavBar?: FormNavigationBar; css?: CSS; homeButtonImages?: any; minimumQuotaMegabytes?: number; defaultExecuteOnFieldChangeOnPush?: boolean; commandBarMaxImageHeight?: number; form?: Form; }