import { CollationType } from '@modules/content-type-builder/collation-type';
import { CreateContentTypeBuilderInput } from '@modules/content-type-builder/dto/create-content-type-builder.input';
import { UpdateContentTypeBuilderInput } from '@modules/content-type-builder/dto/update-content-type-builder.input';
import { PrismaService } from '@moonlightjs/common';
import { OnModuleInit } from '@nestjs/common';
import { ContentType } from '@prisma/client';
export declare class ContentTypeBuilderService implements OnModuleInit {
    protected prisma: PrismaService;
    constructor(prisma: PrismaService);
    private shutdown;
    private cleanup;
    get(): Promise<Record<string, CollationType>>;
    onModuleInit(): Promise<void>;
    update(uid: string, input: UpdateContentTypeBuilderInput): Promise<void>;
    create(input: CreateContentTypeBuilderInput): Promise<any>;
    delete(uid: string): Promise<void>;
    process(uid: string, contentType: CollationType, contentTypesSchema: Record<string, CollationType>, data: ContentType | null, isUpdate?: boolean): Promise<ContentType | null>;
    handleDelete(uid: string, contentTypesSchema: Record<string, CollationType>, data: ContentType | null): Promise<ContentType | null>;
    removeImportFromAppModule(rootFolder: string, contentType: CollationType): void;
}
