package io.synor.privacy;

/**
 * Configuration for the Privacy SDK client.
 */
public class PrivacyConfig {
    private final String apiKey;
    private String endpoint = "https://privacy.synor.io";
    private long timeoutMs = 30000;
    private int retries = 3;

    public PrivacyConfig(String apiKey) {
        if (apiKey == null || apiKey.isEmpty()) {
            throw new IllegalArgumentException("API key is required");
        }
        this.apiKey = apiKey;
    }

    public PrivacyConfig endpoint(String endpoint) {
        this.endpoint = endpoint;
        return this;
    }

    public PrivacyConfig timeoutMs(long timeoutMs) {
        this.timeoutMs = timeoutMs;
        return this;
    }

    public PrivacyConfig retries(int retries) {
        this.retries = retries;
        return this;
    }

    public String getApiKey() {
        return apiKey;
    }

    public String getEndpoint() {
        return endpoint;
    }

    public long getTimeoutMs() {
        return timeoutMs;
    }

    public int getRetries() {
        return retries;
    }
}
