import * as core from "@terrascript/core";
export interface S3ConfigurationArgs extends core.SchemaArgs {
    bucketName?: string | core.StringOut;
    encryptionOption?: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    objectKeyPrefix?: string | core.StringOut;
}
export declare class S3Configuration extends core.Schema<S3ConfigurationArgs> {
    bucketName?: string | core.StringOut;
    encryptionOption?: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    objectKeyPrefix?: string | core.StringOut;
}
export interface MagneticStoreRejectedDataLocationArgs extends core.SchemaArgs {
    s3Configuration?: S3Configuration;
}
export declare class MagneticStoreRejectedDataLocation extends core.Schema<MagneticStoreRejectedDataLocationArgs> {
    s3Configuration?: S3Configuration;
}
export interface MagneticStoreWritePropertiesArgs extends core.SchemaArgs {
    enableMagneticStoreWrites?: boolean | core.BooleanOut;
    magneticStoreRejectedDataLocation?: MagneticStoreRejectedDataLocation;
}
export declare class MagneticStoreWriteProperties extends core.Schema<MagneticStoreWritePropertiesArgs> {
    enableMagneticStoreWrites?: boolean | core.BooleanOut;
    magneticStoreRejectedDataLocation?: MagneticStoreRejectedDataLocation;
}
export interface RetentionPropertiesArgs extends core.SchemaArgs {
    magneticStoreRetentionPeriodInDays: number | core.NumberOut;
    memoryStoreRetentionPeriodInHours: number | core.NumberOut;
}
export declare class RetentionProperties extends core.Schema<RetentionPropertiesArgs> {
    magneticStoreRetentionPeriodInDays: number | core.NumberOut;
    memoryStoreRetentionPeriodInHours: number | core.NumberOut;
}
export interface TableArgs extends core.ResourceArgs {
    databaseName: string | core.StringOut;
    magneticStoreWriteProperties?: MagneticStoreWriteProperties;
    retentionProperties?: RetentionProperties;
    tableName: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Table extends core.Resource<TableArgs> {
    arn: string | core.StringOut;
    databaseName: string | core.StringOut;
    id: string | core.StringOut;
    magneticStoreWriteProperties?: MagneticStoreWriteProperties;
    retentionProperties?: RetentionProperties;
    tableName: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: TableArgs);
    getNamespace(): string;
}
//# sourceMappingURL=table.d.ts.map