import * as core from "@terrascript/core";
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 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 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 ColumnsArgs extends core.SchemaArgs {
    comment?: string | core.StringOut;
    name: string | core.StringOut;
    type?: string | core.StringOut;
}
export declare class Columns extends core.Schema<ColumnsArgs> {
    comment?: string | core.StringOut;
    name: string | core.StringOut;
    type?: 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>;
    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>;
    serDeInfo?: SerDeInfo;
    skewedInfo?: SkewedInfo;
    sortColumns?: core.Array<SortColumns> | core.ArrayOut<SortColumns>;
    storedAsSubDirectories?: boolean | core.BooleanOut;
}
export interface PartitionArgs extends core.ResourceArgs {
    catalogId?: string | core.StringOut;
    databaseName: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    partitionValues: core.Array<string> | core.ArrayOut<core.StringOut>;
    storageDescriptor?: StorageDescriptor;
    tableName: string | core.StringOut;
}
export declare class Partition extends core.Resource<PartitionArgs> {
    catalogId?: string | core.StringOut;
    creationTime: string | core.StringOut;
    databaseName: string | core.StringOut;
    id: string | core.StringOut;
    lastAccessedTime: string | core.StringOut;
    lastAnalyzedTime: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    partitionValues: core.Array<string> | core.ArrayOut<core.StringOut>;
    storageDescriptor?: StorageDescriptor;
    tableName: string | core.StringOut;
    constructor(name: string, args?: PartitionArgs);
    getNamespace(): string;
}
//# sourceMappingURL=partition.d.ts.map