import { IComGithubFluxcdPkgApisAclAccessFrom } from "../../github.com/fluxcd/pkg/apis/acl/AccessFrom.js";
import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * BucketSpec defines the desired state of an S3 compatible bucket
 */
export interface IBucketSpec {
    /**
     * AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
     */
    "accessFrom"?: IComGithubFluxcdPkgApisAclAccessFrom;
    /**
     * The bucket name.
     */
    "bucketName": string;
    /**
     * The bucket endpoint address.
     */
    "endpoint": string;
    /**
     * Ignore overrides the set of excluded patterns in the .sourceignore format
     * (which is the same as .gitignore). If not provided, a default will be used,
     * consult the documentation for your version to find out what those are.
     */
    "ignore"?: string;
    /**
     * Insecure allows connecting to a non-TLS S3 HTTP endpoint.
     */
    "insecure"?: boolean;
    "interval": string;
    /**
     * The S3 compatible storage provider name, default ('generic').
     */
    "provider"?: "generic" | "aws" | "gcp";
    /**
     * The bucket region.
     */
    "region"?: string;
    /**
     * The name of the secret containing authentication credentials
     * for the Bucket.
     */
    "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    /**
     * This flag tells the controller to suspend the reconciliation of this source.
     */
    "suspend"?: boolean;
    "timeout"?: string;
}
/**
 * BucketSpec defines the desired state of an S3 compatible bucket
 */
export declare class BucketSpec extends Model<IBucketSpec> implements IBucketSpec {
    "accessFrom"?: IComGithubFluxcdPkgApisAclAccessFrom;
    "bucketName": string;
    "endpoint": string;
    "ignore"?: string;
    "insecure"?: boolean;
    "interval": string;
    "provider"?: "generic" | "aws" | "gcp";
    "region"?: string;
    "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    "suspend"?: boolean;
    "timeout"?: string;
    constructor(data?: ModelData<IBucketSpec>);
}
export type { IBucketSpec as IComGithubFluxcdSourceControllerApiV1beta1BucketSpec, BucketSpec as ComGithubFluxcdSourceControllerApiV1beta1BucketSpec };
