import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get info of special HuaweiCloud obs object.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const object = pulumi.output(huaweicloud.Obs.getBucketObject({
 *     bucket: "my-test-bucket",
 *     key: "new-key",
 * }));
 * ```
 */
export declare function getBucketObject(args: GetBucketObjectArgs, opts?: pulumi.InvokeOptions): Promise<GetBucketObjectResult>;
/**
 * A collection of arguments for invoking getBucketObject.
 */
export interface GetBucketObjectArgs {
    /**
     * The name of the bucket to put the file in.
     */
    bucket: string;
    /**
     * The name of the object once it is in the bucket.
     */
    key: string;
    /**
     * The region in which to obtain the OBS object. If omitted, the provider-level region will
     * be used.
     */
    region?: string;
}
/**
 * A collection of values returned by getBucketObject.
 */
export interface GetBucketObjectResult {
    /**
     * The content of an object which is available only for objects which have a human-readable Content-Type
     * (text/* and application/json) and smaller than **64KB**. This is to prevent printing unsafe characters and
     * potentially downloading large amount of data.
     */
    readonly body: string;
    readonly bucket: string;
    /**
     * a standard MIME type describing the format of the object data, e.g. application/octet-stream. All
     * Valid MIME Types are valid for this input.
     */
    readonly contentType: string;
    /**
     * the ETag generated for the object (an MD5 sum of the object content). When the object is encrypted on the
     * server side, the ETag value is not the MD5 value of the object, but the unique identifier calculated through the
     * server-side encryption.
     */
    readonly etag: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly key: string;
    readonly region: string;
    /**
     * the size of the object in bytes.
     */
    readonly size: number;
    /**
     * specifies the storage class of the object.
     */
    readonly storageClass: string;
    /**
     * a unique version ID value for the object, if bucket versioning is enabled.
     */
    readonly versionId: string;
}
export declare function getBucketObjectOutput(args: GetBucketObjectOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetBucketObjectResult>;
/**
 * A collection of arguments for invoking getBucketObject.
 */
export interface GetBucketObjectOutputArgs {
    /**
     * The name of the bucket to put the file in.
     */
    bucket: pulumi.Input<string>;
    /**
     * The name of the object once it is in the bucket.
     */
    key: pulumi.Input<string>;
    /**
     * The region in which to obtain the OBS object. If omitted, the provider-level region will
     * be used.
     */
    region?: pulumi.Input<string>;
}
