import { EuiComboBoxOptionOption } from '@elastic/eui' ; import { AttributeName , ElasticsearchUser } from '../../shared/types' ; export interface RoleMappingsBaseServerDetails { attributes : string [ ] ; elasticsearchRoles : string [ ] ; elasticsearchUsers : ElasticsearchUser [ ] ; smtpSettingsPresent : boolean ; } export interface RoleMappingsBaseActions { handleAttributeSelectorChange ( value , firstElasticsearchRole ) : { value : AttributeName ; firstElasticsearchRole : string ; } ; handleAttributeValueChange ( value ) : { value : string ; } ; handleDeleteMapping ( roleMappingId ) : { roleMappingId : string ; } ; handleUsernameSelectChange ( username ) : { username : string ; } ; handleSaveMapping ( ) : void ; handleSaveUser ( ) : void ; initializeRoleMapping ( roleMappingId ? ) : { roleMappingId ? : string ; } ; initializeSingleUserRoleMapping ( roleMappingId ? ) : { roleMappingId ? : string ; } ; initializeRoleMappings ( ) : void ; resetState ( ) : void ; setElasticsearchUser ( elasticsearchUser ? ) : { elasticsearchUser : ElasticsearchUser ; } ; openRoleMappingFlyout ( ) : void ; openSingleUserRoleMappingFlyout ( ) : void ; closeUsersAndRolesFlyout ( ) : void ; setRoleMappingErrors ( errors ) : { errors : string [ ] ; } ; enableRoleBasedAccess ( ) : void ; setUserExistingRadioValue ( userFormUserIsExisting ) : { userFormUserIsExisting : boolean ; } ; setElasticsearchUsernameValue ( username ) : { username : string ; } ; setElasticsearchEmailValue ( email ) : { email : string ; } ; setUserCreated ( ) : void ; setUserFormIsNewUser ( userFormIsNewUser ) : { userFormIsNewUser : boolean ; } ; } export interface RoleMappingsBaseValues extends RoleMappingsBaseServerDetails { attributeName : AttributeName ; attributeValue : string ; dataLoading : boolean ; elasticsearchUser : ElasticsearchUser ; roleMappingFlyoutOpen : boolean ; singleUserRoleMappingFlyoutOpen : boolean ; selectedOptions : EuiComboBoxOptionOption [ ] ; roleMappingErrors : string [ ] ; userFormUserIsExisting : boolean ; userCreated : boolean ; userFormIsNewUser : boolean ; accessAllEngines : boolean ; formLoading : boolean ; }