// Path: services/google/api/src/main/java/eu/hlavki/identity/services/google/NoPrivateKeyException.java
// public class NoPrivateKeyException extends RuntimeException {
// 
//     private static final long serialVersionUID = 2712920621905135028L;
// 
//     public NoPrivateKeyException() {
//         super();
//     }
// 
// 
//     public NoPrivateKeyException(String message) {
//         super(message);
//     }
// 
// 
//     public NoPrivateKeyException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
// 
//     public NoPrivateKeyException(Throwable cause) {
//         super(cause);
//     }
// }


import eu.hlavki.identity.services.google.NoPrivateKeyException;
import java.io.File;
import java.security.PrivateKey;
import java.time.Duration;
import java.util.Set;
package eu.hlavki.identity.services.google.config;


public interface Configuration {

    String getGSuiteDomain();


    String getGSuiteImplicitGroup();


    boolean isSetGSuiteImplicitGroup();


    String getServiceAccountEmail();


    String getServiceAccountSubject();


    Set<String> getServiceAccountScopes();


// Path: services/google/api/src/main/java/eu/hlavki/identity/services/google/NoPrivateKeyException.java
// public class NoPrivateKeyException extends RuntimeException {
// 
//     private static final long serialVersionUID = 2712920621905135028L;
// 
//     public NoPrivateKeyException() {
//         super();
//     }
// 
// 
//     public NoPrivateKeyException(String message) {
//         super(message);
//     }
// 
// 
//     public NoPrivateKeyException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
// 
//     public NoPrivateKeyException(Throwable cause) {
//         super(cause);
//     }
// }


// Path: services/google/api/src/main/java/eu/hlavki/identity/services/google/config/Configuration.java
import eu.hlavki.identity.services.google.NoPrivateKeyException;
import java.io.File;
import java.security.PrivateKey;
import java.time.Duration;
import java.util.Set;

package eu.hlavki.identity.services.google.config;


public interface Configuration {

    String getGSuiteDomain();


    String getGSuiteImplicitGroup();


    boolean isSetGSuiteImplicitGroup();


    String getServiceAccountEmail();


    String getServiceAccountSubject();


    Set<String> getServiceAccountScopes();


    PrivateKey readServiceAccountKey() throws NoPrivateKeyException;