import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::S3Vectors::VectorBucketPolicy
 */
export declare class VectorBucketPolicy extends pulumi.CustomResource {
    /**
     * Get an existing VectorBucketPolicy resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): VectorBucketPolicy;
    /**
     * Returns true if the given object is an instance of VectorBucketPolicy.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is VectorBucketPolicy;
    /**
     * A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .
     */
    readonly policy: pulumi.Output<outputs.s3vectors.VectorBucketPolicyPolicy>;
    /**
     * The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.
     */
    readonly vectorBucketArn: pulumi.Output<string | undefined>;
    /**
     * The name of the S3 vector bucket to which the policy applies.
     */
    readonly vectorBucketName: pulumi.Output<string | undefined>;
    /**
     * Create a VectorBucketPolicy resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: VectorBucketPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a VectorBucketPolicy resource.
 */
export interface VectorBucketPolicyArgs {
    /**
     * A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .
     */
    policy: pulumi.Input<inputs.s3vectors.VectorBucketPolicyPolicyArgs>;
    /**
     * The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.
     */
    vectorBucketArn?: pulumi.Input<string>;
    /**
     * The name of the S3 vector bucket to which the policy applies.
     */
    vectorBucketName?: pulumi.Input<string>;
}
