package io.quarkiverse.openapi.generator.providers;

import java.util.List;

import jakarta.ws.rs.client.ClientRequestFilter;

/**
 * Authentication Provider for {@link ClientRequestFilter}s generated by the extension.
 */
public interface AuthProvider extends ClientRequestFilter {

    /**
     * Get the name of the Security Provider as defined in the OpenAPI Spec file.
     *
     * @see <a href="https://spec.openapis.org/oas/v3.1.0#security-requirement-object">OpenAPI Spec - Security Requirement
     *      Object</a>
     */
    String getName();

    List<OperationAuthInfo> operationsToFilter();

}
