import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * The `scaleway.object.Bucket` data source is used to retrieve information about an Object Storage bucket.
 *
 * Refer to the Object Storage [documentation](https://www.scaleway.com/en/docs/object-storage/how-to/create-a-bucket/) for more information.
 *
 * ## Retrieve an Object Storage bucket
 *
 * The following commands allow you to:
 *
 * - retrieve a bucket by its name
 * - retrieve a bucket by its ID
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const main = new scaleway.object.Bucket("main", {
 *     name: "bucket.test.com",
 *     tags: {
 *         foo: "bar",
 *     },
 * });
 * const selected = scaleway.object.getBucketOutput({
 *     name: main.id,
 * });
 * ```
 *
 * ## Retrieve a bucket from a specific project
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const selected = scaleway.object.getBucket({
 *     name: "bucket.test.com",
 *     projectId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 */
export declare function getBucket(args?: GetBucketArgs, opts?: pulumi.InvokeOptions): Promise<GetBucketResult>;
/**
 * A collection of arguments for invoking getBucket.
 */
export interface GetBucketArgs {
    /**
     * The name of the bucket, or its terraform ID (`{region}/{name}`)
     */
    name?: string;
    /**
     * `projectId`) The ID of the project with which the bucket is associated.
     */
    projectId?: string;
    /**
     * `region`) The region in which the bucket exists.
     */
    region?: string;
}
/**
 * A collection of values returned by getBucket.
 */
export interface GetBucketResult {
    readonly acl: string;
    readonly apiEndpoint: string;
    readonly corsRules: outputs.object.GetBucketCorsRule[];
    /**
     * The endpoint URL of the bucket
     */
    readonly endpoint: string;
    readonly forceDestroy: boolean;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly lifecycleRules: outputs.object.GetBucketLifecycleRule[];
    readonly name?: string;
    readonly objectLockEnabled: boolean;
    readonly projectId?: string;
    readonly region?: string;
    readonly tags: {
        [key: string]: string;
    };
    readonly versionings: outputs.object.GetBucketVersioning[];
}
/**
 * The `scaleway.object.Bucket` data source is used to retrieve information about an Object Storage bucket.
 *
 * Refer to the Object Storage [documentation](https://www.scaleway.com/en/docs/object-storage/how-to/create-a-bucket/) for more information.
 *
 * ## Retrieve an Object Storage bucket
 *
 * The following commands allow you to:
 *
 * - retrieve a bucket by its name
 * - retrieve a bucket by its ID
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const main = new scaleway.object.Bucket("main", {
 *     name: "bucket.test.com",
 *     tags: {
 *         foo: "bar",
 *     },
 * });
 * const selected = scaleway.object.getBucketOutput({
 *     name: main.id,
 * });
 * ```
 *
 * ## Retrieve a bucket from a specific project
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const selected = scaleway.object.getBucket({
 *     name: "bucket.test.com",
 *     projectId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 */
export declare function getBucketOutput(args?: GetBucketOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBucketResult>;
/**
 * A collection of arguments for invoking getBucket.
 */
export interface GetBucketOutputArgs {
    /**
     * The name of the bucket, or its terraform ID (`{region}/{name}`)
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * `projectId`) The ID of the project with which the bucket is associated.
     */
    projectId?: pulumi.Input<string | undefined>;
    /**
     * `region`) The region in which the bucket exists.
     */
    region?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getBucket.d.ts.map