import * as lambda from "../../aws-lambda";
import * as s3 from "../../aws-s3";
import { Construct } from 'constructs';
/**
 * (experimental) Use a Lambda function as a bucket notification destination.
 *
 * @experimental
 */
export declare class LambdaDestination implements s3.IBucketNotificationDestination {
    private readonly fn;
    /**
     * @experimental
     */
    constructor(fn: lambda.IFunction);
    /**
     * (experimental) Registers this resource to receive notifications for the specified bucket.
     *
     * This method will only be called once for each destination/bucket
     * pair and the result will be cached, so there is no need to implement
     * idempotency in each destination.
     *
     * @experimental
     */
    bind(_scope: Construct, bucket: s3.IBucket): s3.BucketNotificationDestinationConfig;
}
