package com.airlock.iam.login.rest.application.configuration;

import com.airlock.iam.common.application.configuration.RestConfigSpec;
import com.airlock.iam.common.application.configuration.secretquestion.SecretQuestionsSettings;
import com.airlock.iam.core.misc.authen.PasswordPolicy;
import com.airlock.iam.core.misc.authen.PasswordService;
import com.airlock.iam.core.misc.authen.PasswordSettings;
import com.airlock.iam.core.misc.authorization.AccessController;
import com.airlock.iam.flow.shared.application.configuration.devicetoken.DeviceTokenSettings;
import java.util.Optional;

public interface LoginappRestConfigSpec extends RestConfigSpec {
   Optional<AccessController> getAccessController();

   Optional<UserSelfServiceConfig> getUserSelfServiceSettings();

   Optional<PasswordSettings> getPasswordSettings();

   Optional<PasswordService> getPasswordService();

   Optional<PasswordPolicy> getPasswordPolicy();

   Optional<DeviceTokenSettings> getDeviceTokenSettings();

   Optional<SecretQuestionsSettings> getSecretQuestionsSettings();
}
