import { scalar } from "./base.scalar"; import { dbConstraintTypeEnum } from "./dbConstraintTypeEnum"; import { dbIndexTypeEnum } from "./dbIndexTypeEnum"; import { dbDataTypeEnum } from "./dbDataTypeEnum"; import { dbTableTypeEnum } from "./dbTableTypeEnum"; import { dbDefaultTypeEnum } from "./dbDefaultTypeEnum"; export declare namespace dbSchemaComponent { interface DataType { type?: dbDataTypeEnum.Id; characterLength?: number; numericPrecision?: number; datetimePrecision?: number; } interface Parameter { name?: string; dataType?: DataType; position?: number; mode?: string; } interface Default { value?: string; type?: dbDefaultTypeEnum.Id; } interface Column { name?: string; defValue?: Default; nullable?: boolean; dataType?: DataType; sql?: string; } interface Index { name?: string; unique?: boolean; using?: dbIndexTypeEnum.Id; columns?: Array; sql?: string; } interface IndexColumn extends Path { tags?: Array; } interface Constraint { name?: string; type?: dbConstraintTypeEnum.Id; conditions?: Array; raw?: scalar.AnyArray; sql?: string; } interface Path { parts?: Array; lastIsText?: boolean; casts?: Array; sql?: string; } interface Sequence { name?: string; dataType?: DataType; startValue?: number; minValue?: number; maxValue?: number; increment?: number; lastValue?: number; cycling?: boolean; ownedByTable?: string; ownedByColumn?: string; sql?: string; } interface TableOrView { name?: string; type?: dbTableTypeEnum.Id; columns?: Array; sql?: string; } interface Table extends TableOrView { indexes?: Array; constraints?: Array; triggers?: Array; } interface View extends TableOrView { isMaterial?: boolean; } interface Func { name?: string; returnType?: DataType; parameters?: Array; sql?: string; } interface Procedure { name?: string; sql?: string; parameters?: Array; } interface Trigger { name?: string; onCreate?: boolean; onUpdate?: boolean; onDelete?: boolean; sql?: string; } interface Unit extends SubUnit { functions?: Array; procedures?: Array; subUnits?: Array; } interface SubUnit { table?: Table; sequence?: Sequence; views?: Array; } }