import { JSONSchema4 } from 'json-schema'; import { PgColumn, PgFkColumn, PgTable, TableSmartTags } from '../../abstractions'; import { PublishSchemaToDbOptions } from '../../publish-schema-to-db-options'; /** * Table model for storing complex/object properties (licensing, video streams etc.) of a root entity. * It will have a FK relation to the root entity in the database. */ export declare class ObjectPropertyTable implements PgTable { name: string; displayName?: string; readonly description?: string; readonly pk: PgColumn; readonly fks: PgFkColumn[]; readonly virtualFks: PgFkColumn[]; readonly columns: PgColumn[]; private options; /** * Constructor for ObjectPropertyTable. * @param propertyName - Name of the property. * @param schema - DB schema where this table will be created. * @param jsonSchema - JSON schema describing this object property. * @param contentEntityPk - PK of the content entity this object property belongs to. */ constructor(options: PublishSchemaToDbOptions, propertyName: string, jsonSchema: JSONSchema4, contentEntityPk: PgColumn); buildFullName(): string; buildSmartTags(): TableSmartTags; buildStatements(): string[]; }