import * as core from "@terrascript/core";
export interface IndexDocumentArgs extends core.SchemaArgs {
    suffix: string | core.StringOut;
}
export declare class IndexDocument extends core.Schema<IndexDocumentArgs> {
    suffix: string | core.StringOut;
}
export interface ErrorDocumentArgs extends core.SchemaArgs {
    key: string | core.StringOut;
}
export declare class ErrorDocument extends core.Schema<ErrorDocumentArgs> {
    key: string | core.StringOut;
}
export interface RedirectAllRequestsToArgs extends core.SchemaArgs {
    hostName: string | core.StringOut;
    protocol?: string | core.StringOut;
}
export declare class RedirectAllRequestsTo extends core.Schema<RedirectAllRequestsToArgs> {
    hostName: string | core.StringOut;
    protocol?: string | core.StringOut;
}
export interface ConditionArgs extends core.SchemaArgs {
    httpErrorCodeReturnedEquals?: string | core.StringOut;
    keyPrefixEquals?: string | core.StringOut;
}
export declare class Condition extends core.Schema<ConditionArgs> {
    httpErrorCodeReturnedEquals?: string | core.StringOut;
    keyPrefixEquals?: string | core.StringOut;
}
export interface RedirectArgs extends core.SchemaArgs {
    hostName?: string | core.StringOut;
    httpRedirectCode?: string | core.StringOut;
    protocol?: string | core.StringOut;
    replaceKeyPrefixWith?: string | core.StringOut;
    replaceKeyWith?: string | core.StringOut;
}
export declare class Redirect extends core.Schema<RedirectArgs> {
    hostName?: string | core.StringOut;
    httpRedirectCode?: string | core.StringOut;
    protocol?: string | core.StringOut;
    replaceKeyPrefixWith?: string | core.StringOut;
    replaceKeyWith?: string | core.StringOut;
}
export interface RoutingRuleArgs extends core.SchemaArgs {
    condition?: Condition;
    redirect: Redirect;
}
export declare class RoutingRule extends core.Schema<RoutingRuleArgs> {
    condition?: Condition;
    redirect: Redirect;
}
export interface BucketWebsiteConfigurationArgs extends core.ResourceArgs {
    bucket: string | core.StringOut;
    errorDocument?: ErrorDocument;
    expectedBucketOwner?: string | core.StringOut;
    indexDocument?: IndexDocument;
    redirectAllRequestsTo?: RedirectAllRequestsTo;
    routingRule?: core.Array<RoutingRule> | core.ArrayOut<RoutingRule>;
    routingRules?: string | core.StringOut;
}
export declare class BucketWebsiteConfiguration extends core.Resource<BucketWebsiteConfigurationArgs> {
    bucket: string | core.StringOut;
    errorDocument?: ErrorDocument;
    expectedBucketOwner?: string | core.StringOut;
    id: string | core.StringOut;
    indexDocument?: IndexDocument;
    redirectAllRequestsTo?: RedirectAllRequestsTo;
    routingRule?: core.Array<RoutingRule> | core.ArrayOut<RoutingRule>;
    routingRules?: string | core.StringOut;
    websiteDomain: string | core.StringOut;
    websiteEndpoint: string | core.StringOut;
    constructor(name: string, args?: BucketWebsiteConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=bucket_website_configuration.d.ts.map