declare enum ColumnType {
    TEXT = "TEXT",
    ASCII = "ASCII",
    FLOAT = "FLOAT",
    TIMESTAMP = "TIMESTAMP",
    DATE = "DATE",
    UUID = "UUID"
}
interface ColumnOptions {
    name?: string;
    type?: ColumnType;
    partitionKey?: true;
    clusteringKey?: true;
    clusteringKeySequence?: number;
}
declare function Column(options?: ColumnOptions | string): (target: BaseModel, key: string) => void;
interface ColumnDefinition {
    key: string;
    columnName: string;
    columnType: ColumnType;
    partitionKey?: true;
    clusteringKey?: true;
    clusteringKeySequence?: number;
}

interface BaseModelConstructor {
    new (): BaseModel;
    columns?: ColumnDefinition[];
}
declare class BaseModel {
    constructor();
}

export { type BaseModelConstructor as B, ColumnType as C, type ColumnOptions as a, Column as b, type ColumnDefinition as c, BaseModel as d };
