import { ModuleRef } from "@nestjs/core";
import { CRUDService } from '../services/crud.service';
import { EntityManager } from 'typeorm';
import { ModelMetadataHelperService } from '../helpers/model-metadata-helper.service';
import { ModelMetadataRepository } from '../repository/model-metadata.repository';
import { ViewMetadataRepository } from '../repository/view-metadata.repository';
import { UpdateViewMetadataDto } from '../dtos/update-view-metadata.dto';
import { FieldMetadata } from '../entities/field-metadata.entity';
import { ViewMetadata } from '../entities/view-metadata.entity';
import { ActionMetadataService } from './action-metadata.service';
import { MenuItemMetadataService } from './menu-item-metadata.service';
import { SolidIntrospectService } from './solid-introspect.service';
import { UserViewMetadataService } from './user-view-metadata.service';
export declare class ViewMetadataService extends CRUDService<ViewMetadata> {
    readonly actionMetadataService: ActionMetadataService;
    readonly menuItemMetadataService: MenuItemMetadataService;
    readonly introspectService: SolidIntrospectService;
    readonly userViewMetadataService: UserViewMetadataService;
    readonly entityManager: EntityManager;
    readonly repo: ViewMetadataRepository;
    private readonly modelMetadataRepo;
    private readonly modelMetadataHelperService;
    readonly moduleRef: ModuleRef;
    constructor(actionMetadataService: ActionMetadataService, menuItemMetadataService: MenuItemMetadataService, introspectService: SolidIntrospectService, userViewMetadataService: UserViewMetadataService, entityManager: EntityManager, repo: ViewMetadataRepository, modelMetadataRepo: ModelMetadataRepository, modelMetadataHelperService: ModelMetadataHelperService, moduleRef: ModuleRef);
    private readonly logger;
    private getEntityRecordsInAllLocales;
    getLayout(query: any, activeUser: any): Promise<{
        solidView: ViewMetadata;
        solidFieldsMetadata: {
            [k: string]: FieldMetadata;
        };
        solidFormViewWorkflowData: any[];
        applicableLocales: any;
        viewModes: any[];
    }>;
    private loadFieldHierarchy;
    findOneByUserKey(name: string, relations?: {}): Promise<ViewMetadata>;
    upsert(updateSolidViewDto: UpdateViewMetadataDto): Promise<ViewMetadata>;
    createIfNotPresent(updateSolidViewDto: UpdateViewMetadataDto): Promise<ViewMetadata>;
}
//# sourceMappingURL=view-metadata.service.d.ts.map