import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * BucketSTSSpec specifies the required configuration to use a Security Token
 * Service for fetching temporary credentials to authenticate in a Bucket
 * provider.
 */
export interface IBucketSTSSpec {
    /**
     * CertSecretRef can be given the name of a Secret containing
     * either or both of
     *
     * - a PEM-encoded client certificate (`tls.crt`) and private
     * key (`tls.key`);
     * - a PEM-encoded CA certificate (`ca.crt`)
     *
     * and whichever are supplied, will be used for connecting to the
     * STS endpoint. The client cert and key are useful if you are
     * authenticating with a certificate; the CA cert is useful if
     * you are using a self-signed server certificate. The Secret must
     * be of type `Opaque` or `kubernetes.io/tls`.
     *
     * This field is only supported for the `ldap` provider.
     */
    "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    /**
     * Endpoint is the HTTP/S endpoint of the Security Token Service from
     * where temporary credentials will be fetched.
     */
    "endpoint": string;
    /**
     * Provider of the Security Token Service.
     */
    "provider": "aws" | "ldap";
    /**
     * SecretRef specifies the Secret containing authentication credentials
     * for the STS endpoint. This Secret must contain the fields `username`
     * and `password` and is supported only for the `ldap` provider.
     */
    "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
}
/**
 * BucketSTSSpec specifies the required configuration to use a Security Token
 * Service for fetching temporary credentials to authenticate in a Bucket
 * provider.
 */
export declare class BucketSTSSpec extends Model<IBucketSTSSpec> implements IBucketSTSSpec {
    "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    "endpoint": string;
    "provider": "aws" | "ldap";
    "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    constructor(data?: ModelData<IBucketSTSSpec>);
}
export type { IBucketSTSSpec as IComGithubFluxcdSourceControllerApiV1beta2BucketSTSSpec, BucketSTSSpec as ComGithubFluxcdSourceControllerApiV1beta2BucketSTSSpec };
