import { Observable, Subject } from 'rxjs'; import { TruPropertyConfigBase } from './tru-property-config-base'; import { TruEntityBase } from './tru-entity-base'; import { TruChoice } from '../classes/tru-choice'; export declare abstract class TruListControlConfigBase { abstract label: string | undefined; abstract propertyName: string | undefined; abstract rootTable: string | undefined; abstract relatedTableType: typeof TruEntityBase | undefined; abstract propertyPath: string | undefined; abstract rules(entity: any): {} | null; abstract subProperties: Array; abstract subPropertyNames: Array; abstract isSubProperty: boolean; abstract get property(): TruPropertyConfigBase; abstract set entity(value: any); abstract get $(): T; abstract set $(value: T); abstract onChange(): Subject; abstract change(value: T): void; constructor(); protected hid?(entity: TruEntityBase): string | null | undefined; protected choices?: (ref: number | null | undefined, allRecords: boolean, dependantEntity: typeof TruEntityBase | undefined) => Observable; protected choicesEntityType?: any; }