import * as pulumi from "@pulumi/pulumi" ; /**
 * BucketHandlerArgs are the arguments passed to an [onPut] or [onDelete] handler.
 */ export interface BucketHandlerArgs { /**
     * The key that was updated or deleted by the operation.
     */ key : string ; /**
     * The size, in bytes, of the blob that was [put].
     */ size : number ; /**
     * The time (in ISO-8601 format) when the [put] or [delete] was completed.
     */ eventTime : string ; } /**
 * BucketHandler is the callback that handles an [onPut] or [onDelete] event.
 */ export type BucketHandler = ( args : BucketHandlerArgs ) => Promise < void > ; /**
 * BucketFilter specifies filters to apply to an [onPut] or [onDelete] subscription.
 */ export interface BucketFilter { keyPrefix ? : string ; keySuffix ? : string ; } export interface BucketConstructor { param name param opts new ( name , opts ? ) : Bucket ; } export let Bucket ; /**
 * Bucket is a simple blob store.
 *
 * Gets are read-after-write consistent for puts of new blobs, and eventually consistent for overwriting puts.
 *
 * Blobs in a bucket are encrypted at rest by default.
 */ export interface Bucket { param name param filter param handler onPut ( name , handler , filter ? ) : void ; param name param filter param handler onDelete ( name , handler , filter ? ) : void ; param key returns get ( key ) : Promise < Buffer > ; param key returns put ( key , contents ) : Promise < void > ; param key returns delete ( key ) : Promise < void > ; }