import { DisplayTemplate } from './DisplayTemplate'; import { DataGridTemplates } from './DataGrid'; import { ConfigurationItems } from './Home'; declare module UserModel { interface Policy { appInstanceName: string; permissionSetId: string; appInstanceDescription?: string; appInstanceEnabled?: boolean; permissionSetName?: string; appInstanceType?: string; permissionSetDescription?: string; permissionSetEnabled?: boolean; permissions?: string[]; } interface MainJsonContent { preferredLanguage?: string; avatar?: string; signature?: string; messagesAutoRefresh?: number; transactionsAutoRefresh?: number; transactions?: { [appInstanceName: string]: string; }; workflowTasks?: { [appInstanceName: string]: string; }; homeSettings?: { [appInstanceName: string]: { [id: string]: ConfigurationItems | string; }; }; displayTemplates?: { [appInstanceName: string]: { [viewName: string]: DisplayTemplate; }; }; codeEditorSettings?: { theme: string; fontSize: string; showInvisibles: boolean; showGutter: boolean; showIndent: boolean; wrap: boolean; }; dataGridTemplates?: DataGridTemplates; version?: string; } interface JsonContent extends MainJsonContent { [featureId: string]: unknown; } } interface UserModel { contentIndexAttributes?: string[]; emailVerified?: boolean; enabled?: boolean; firstName?: string; jsonContent?: string; lastName?: string; oldpassword?: string; orgPositionDisplayNameLookup?: { [instanceName: string]: string; }; orgPositionIdMap?: { [appIntanceName: string]: string[]; }; passwordIn?: string; passwordReset?: boolean; policyDetails?: UserModel.Policy[]; policyList?: UserModel.Policy[]; preferredLanguage?: string; propertiesMap?: { [key: string]: string; }; ssoConnectionId?: string; readOnly?: boolean; realm?: string; userEmail?: string; userSignature?: string; } interface UserSearch { pageSize?: number; pageContext?: string; searchColumn?: 'EMAIL' | 'LAST_NAME' | 'PERM_SET_ID'; searchTerm?: string; orderDesc?: boolean; orderColumn?: 'EMAIL' | 'LAST_NAME'; } declare function getUserJson(user: UserModel | null): UserModel.JsonContent; export { UserModel, getUserJson, UserSearch };