import { Connection, EntityMetadata, SelectQueryBuilder } from '../utils/typeormProxy'; import { EntityType } from '../types'; import DefaultAdminSite from './adminSite'; import { WidgetConstructor } from './widgets/widget.interface'; declare abstract class AdminEntity { private readonly adminSite; private readonly connection; abstract entity: EntityType; listDisplay: string[] | null; searchFields: string[] | null; resultsPerPage: number; widgets: { [propertyName: string]: WidgetConstructor; }; constructor(adminSite: DefaultAdminSite, connection: Connection); readonly repository: import("typeorm").Repository; readonly metadata: EntityMetadata; readonly name: string; getFields(form: 'add' | 'change'): string[]; getWidgets(form: 'add' | 'change', entity?: object): any[]; validateListConfig(): void; private validateDisplayFields; private validateSearchFields; protected buildSearchQueryOptions(query: SelectQueryBuilder, alias: string, searchParam: string): SelectQueryBuilder; protected buildPaginationQueryOptions(query: SelectQueryBuilder, page: number): SelectQueryBuilder; getEntityList(page: number, searchString: string): Promise<{ entities: unknown[]; count: number; }>; } export default AdminEntity;