import { SqlRelationship, SqlType, SqlIndex } from '../types';
export declare class Property {
    [index: string]: any;
    config: import("../config/cliter.config").CliterConfig;
    id: string;
    private _name;
    type: SqlType;
    primaryKey?: boolean;
    autoIncrement?: boolean;
    private _enumOptions?;
    decimals?: number[];
    length?: number;
    minLength?: number;
    maxLength?: number;
    nullable?: boolean;
    defaultValue?: string | number;
    relationship?: SqlRelationship;
    relationshipSingularName?: string;
    relationshipAggregate?: string;
    relationshipModulePath?: string;
    relationshipKey?: string;
    relationshipField?: string;
    relationshipAvoidConstraint?: boolean;
    relationshipPackageName?: string;
    pivotAggregateName?: string;
    pivotPath?: string;
    pivotFileName?: string;
    isDenormalized?: boolean;
    index?: SqlIndex;
    indexName?: string;
    isI18n?: boolean;
    example?: any;
    faker?: string;
    constructor(payload: {
        name: string;
        type: SqlType;
        primaryKey?: boolean;
        autoIncrement?: boolean;
        enumOptions?: string;
        decimals?: number[];
        length?: number;
        minLength?: number;
        maxLength?: number;
        nullable?: boolean;
        defaultValue?: string | number;
        relationship?: SqlRelationship;
        relationshipSingularName?: string;
        relationshipAggregate?: string;
        relationshipModulePath?: string;
        relationshipKey?: string;
        relationshipField?: string;
        relationshipAvoidConstraint?: boolean;
        relationshipPackageName?: string;
        pivotAggregateName?: string;
        pivotPath?: string;
        pivotFileName?: string;
        isDenormalized?: boolean;
        index?: SqlIndex;
        indexName?: string;
        isI18n?: boolean;
        example?: any;
        faker?: any;
    });
    get hasTimezone(): boolean;
    get hasColumnDecorator(): boolean;
    get hasHasOneDecorator(): boolean;
    get hasBelongsToDecorator(): boolean;
    get hasHasManyDecorator(): boolean;
    get hasBelongsToManyDecorator(): boolean;
    get getDefaultValue(): any;
    get getReferenceKey(): any;
    get isRelationship(): boolean;
    get isBinary(): boolean;
    get originName(): string;
    get name(): string;
    get enumOptionsArrayItems(): string | undefined;
    get enumOptions(): string[] | undefined;
    get getRelationshipBoundedContext(): string | null;
    get getRelationshipModule(): string | null;
    get getRelationshipModules(): string | null;
    get getJavascriptType(): string;
    get getJavascriptModelType(): string;
    get getSequelizeType(): string;
    /********
     * REST *
     ********/
    get getSwaggerType(): string;
    get getDtoType(): string;
    /***********
     * GraphQL *
     ***********/
    get getGraphqlType(): string | undefined;
    get getGraphqlCreateType(): string;
    get getGraphqlUpdateType(): string;
    /*************
     * DASHBOARD *
     *************/
    get getColumnDataType(): string;
    /*****************
     * Miscellaneous *
     *****************/
    get hasQuotation(): boolean;
    private parseModuleSection;
    toDto(): any;
}
