import * as core from "@terrascript/core";
export interface ColumnsArgs extends core.SchemaArgs {
    comment?: string | core.StringOut;
    name: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type?: string | core.StringOut;
}
export declare class Columns extends core.Schema<ColumnsArgs> {
    comment?: string | core.StringOut;
    name: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type?: string | core.StringOut;
}
export interface SchemaIdArgs extends core.SchemaArgs {
    registryName?: string | core.StringOut;
    schemaArn?: string | core.StringOut;
    schemaName?: string | core.StringOut;
}
export declare class SchemaId extends core.Schema<SchemaIdArgs> {
    registryName?: string | core.StringOut;
    schemaArn?: string | core.StringOut;
    schemaName?: string | core.StringOut;
}
export interface SchemaReferenceArgs extends core.SchemaArgs {
    schemaId?: SchemaId;
    schemaVersionId?: string | core.StringOut;
    schemaVersionNumber: number | core.NumberOut;
}
export declare class SchemaReference extends core.Schema<SchemaReferenceArgs> {
    schemaId?: SchemaId;
    schemaVersionId?: string | core.StringOut;
    schemaVersionNumber: number | core.NumberOut;
}
export interface SortColumnsArgs extends core.SchemaArgs {
    column: string | core.StringOut;
    sortOrder: number | core.NumberOut;
}
export declare class SortColumns extends core.Schema<SortColumnsArgs> {
    column: string | core.StringOut;
    sortOrder: number | core.NumberOut;
}
export interface SkewedInfoArgs extends core.SchemaArgs {
    skewedColumnNames?: core.Array<string> | core.ArrayOut<core.StringOut>;
    skewedColumnValueLocationMaps?: core.Map<string, string> | core.MapOut<core.StringOut>;
    skewedColumnValues?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class SkewedInfo extends core.Schema<SkewedInfoArgs> {
    skewedColumnNames?: core.Array<string> | core.ArrayOut<core.StringOut>;
    skewedColumnValueLocationMaps?: core.Map<string, string> | core.MapOut<core.StringOut>;
    skewedColumnValues?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface SerDeInfoArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    serializationLibrary?: string | core.StringOut;
}
export declare class SerDeInfo extends core.Schema<SerDeInfoArgs> {
    name?: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    serializationLibrary?: string | core.StringOut;
}
export interface StorageDescriptorArgs extends core.SchemaArgs {
    bucketColumns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    columns?: core.Array<Columns> | core.ArrayOut<Columns>;
    compressed?: boolean | core.BooleanOut;
    inputFormat?: string | core.StringOut;
    location?: string | core.StringOut;
    numberOfBuckets?: number | core.NumberOut;
    outputFormat?: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    schemaReference?: SchemaReference;
    serDeInfo?: SerDeInfo;
    skewedInfo?: SkewedInfo;
    sortColumns?: core.Array<SortColumns> | core.ArrayOut<SortColumns>;
    storedAsSubDirectories?: boolean | core.BooleanOut;
}
export declare class StorageDescriptor extends core.Schema<StorageDescriptorArgs> {
    bucketColumns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    columns?: core.Array<Columns> | core.ArrayOut<Columns>;
    compressed?: boolean | core.BooleanOut;
    inputFormat?: string | core.StringOut;
    location?: string | core.StringOut;
    numberOfBuckets?: number | core.NumberOut;
    outputFormat?: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    schemaReference?: SchemaReference;
    serDeInfo?: SerDeInfo;
    skewedInfo?: SkewedInfo;
    sortColumns?: core.Array<SortColumns> | core.ArrayOut<SortColumns>;
    storedAsSubDirectories?: boolean | core.BooleanOut;
}
export interface PartitionKeysArgs extends core.SchemaArgs {
    comment?: string | core.StringOut;
    name: string | core.StringOut;
    type?: string | core.StringOut;
}
export declare class PartitionKeys extends core.Schema<PartitionKeysArgs> {
    comment?: string | core.StringOut;
    name: string | core.StringOut;
    type?: string | core.StringOut;
}
export interface TargetTableArgs extends core.SchemaArgs {
    catalogId: string | core.StringOut;
    databaseName: string | core.StringOut;
    name: string | core.StringOut;
}
export declare class TargetTable extends core.Schema<TargetTableArgs> {
    catalogId: string | core.StringOut;
    databaseName: string | core.StringOut;
    name: string | core.StringOut;
}
export interface PartitionIndexArgs extends core.SchemaArgs {
    indexName: string | core.StringOut;
    indexStatus: string | core.StringOut;
    keys: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class PartitionIndex extends core.Schema<PartitionIndexArgs> {
    indexName: string | core.StringOut;
    indexStatus: string | core.StringOut;
    keys: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface CatalogTableArgs extends core.ResourceArgs {
    catalogId?: string | core.StringOut;
    databaseName: string | core.StringOut;
    description?: string | core.StringOut;
    name: string | core.StringOut;
    owner?: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    partitionIndex?: core.Array<PartitionIndex> | core.ArrayOut<PartitionIndex>;
    partitionKeys?: core.Array<PartitionKeys> | core.ArrayOut<PartitionKeys>;
    retention?: number | core.NumberOut;
    storageDescriptor?: StorageDescriptor;
    tableType?: string | core.StringOut;
    targetTable?: TargetTable;
    viewExpandedText?: string | core.StringOut;
    viewOriginalText?: string | core.StringOut;
}
export declare class CatalogTable extends core.Resource<CatalogTableArgs> {
    arn: string | core.StringOut;
    catalogId?: string | core.StringOut;
    databaseName: string | core.StringOut;
    description?: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    owner?: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    partitionIndex?: core.Array<PartitionIndex> | core.ArrayOut<PartitionIndex>;
    partitionKeys?: core.Array<PartitionKeys> | core.ArrayOut<PartitionKeys>;
    retention?: number | core.NumberOut;
    storageDescriptor?: StorageDescriptor;
    tableType?: string | core.StringOut;
    targetTable?: TargetTable;
    viewExpandedText?: string | core.StringOut;
    viewOriginalText?: string | core.StringOut;
    constructor(name: string, args?: CatalogTableArgs);
    getNamespace(): string;
}
//# sourceMappingURL=catalog_table.d.ts.map