import * as core from "@terrascript/core";
export interface PublicAccessBlockArgs extends core.SchemaArgs {
    blockPublicAcls?: boolean | core.BooleanOut;
    blockPublicPolicy?: boolean | core.BooleanOut;
    ignorePublicAcls?: boolean | core.BooleanOut;
    restrictPublicBuckets?: boolean | core.BooleanOut;
}
export declare class PublicAccessBlock extends core.Schema<PublicAccessBlockArgs> {
    blockPublicAcls?: boolean | core.BooleanOut;
    blockPublicPolicy?: boolean | core.BooleanOut;
    ignorePublicAcls?: boolean | core.BooleanOut;
    restrictPublicBuckets?: boolean | core.BooleanOut;
}
export interface RegionArgs extends core.SchemaArgs {
    bucket: string | core.StringOut;
}
export declare class Region extends core.Schema<RegionArgs> {
    bucket: string | core.StringOut;
}
export interface DetailsArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    publicAccessBlock?: PublicAccessBlock;
    region: core.Array<Region> | core.ArrayOut<Region>;
}
export declare class Details extends core.Schema<DetailsArgs> {
    name: string | core.StringOut;
    publicAccessBlock?: PublicAccessBlock;
    region: core.Array<Region> | core.ArrayOut<Region>;
}
export interface MultiRegionAccessPointArgs extends core.ResourceArgs {
    accountId?: string | core.StringOut;
    details: Details;
}
export declare class MultiRegionAccessPoint extends core.Resource<MultiRegionAccessPointArgs> {
    accountId?: string | core.StringOut;
    alias: string | core.StringOut;
    arn: string | core.StringOut;
    details: Details;
    domainName: string | core.StringOut;
    id: string | core.StringOut;
    status: string | core.StringOut;
    constructor(name: string, args?: MultiRegionAccessPointArgs);
    getNamespace(): string;
}
//# sourceMappingURL=multi_region_access_point.d.ts.map