import { Index } from '../../ast/entity'; import { CommentedNode } from '../../ast/entity/commented-node'; import { CommonField } from '../../ast/entity/common-field'; import { Constraint } from '../../ast/entity/constraint'; import { Field } from '../../ast/entity/field'; import { ForeignKey } from '../../ast/entity/foreign-key'; import { PrimaryKey } from '../../ast/entity/primary-key'; import { UniqueKey } from '../../ast/entity/unique-key'; import { Configuration } from '../../util/configuration'; export declare class Table extends CommentedNode { fields: Field[]; descriptor?: Field | null; constraints: Constraint[]; indexedFields: Map; indexes: Index[]; private normalizedName?; private normalizedDefault?; private normalizedAndDespluralizedName?; constructor(name: string); prepare(): void; getFields(): Field[]; addField(field: Field): void; addConstraint(constraint: Constraint): void; getIndexes(): Index[]; getNormalizedName(config: Configuration): string; getNormalizedDefault(): string; getNormalizedAndDespluralizedName(config: Configuration): string; addIndex(index: Index): void; find(name: string): Field | null; findForeignKey(fieldName: string): ForeignKey | null; getReference(fieldName: string): string | null; findIndex(field: Field): Index | null; findConstraint(fieldName: string): Constraint; getConstraintFields(constraint?: Constraint): Field[]; getUniqueKeys(skipPk?: boolean): UniqueKey[]; getUniqueIndex(field: Field): Index | null; isUnique(field: Field): boolean; getForeignKeys(tableName?: string): ForeignKey[]; getPrimaryKey(): PrimaryKey | null; isPrimaryKeyField(field: Field): boolean; getPrimary(): Field | null; getDescriptor(): Field | null; private getInternalDescriptor; getImage(): Field | null; }