import { OnModuleInit } from '@nestjs/common';
import { PrismaService } from "../../core/database/prisma/prisma.service";
import { ConfigService } from '@nestjs/config';
export declare class ProcessLoaderService implements OnModuleInit {
    private prisma;
    private configService;
    private readonly logger;
    private readonly configDir;
    constructor(prisma: PrismaService, configService: ConfigService);
    onModuleInit(): Promise<void>;
    syncAllProcesses(): Promise<{
        created: number;
        updated: number;
        skipped: number;
        errors: number;
    }>;
    syncProcess(filename: string): Promise<'created' | 'updated' | 'skipped'>;
    private validateConfig;
    private cleanupOldVersions;
    manualSync(processKey?: string): Promise<"created" | "updated" | "skipped" | {
        created: number;
        updated: number;
        skipped: number;
        errors: number;
    }>;
    rollback(processKey: string, version: number): Promise<{
        id: string;
        createdAt: Date;
        status: import("@prisma/client").$Enums.VersionStatus;
        name: string;
        updatedAt: Date;
        settings: import("@prisma/client/runtime/library").JsonValue;
        version: number;
        processModel: import("@prisma/client/runtime/library").JsonValue;
        changeLog: string | null;
        isDefault: boolean;
        definitionId: string;
        formSchema: import("@prisma/client/runtime/library").JsonValue | null;
        ruleConfig: import("@prisma/client/runtime/library").JsonValue;
        deployedAt: Date | null;
        deployedBy: string | null;
    }>;
    listProcesses(): Promise<({
        versions: {
            id: string;
            createdAt: Date;
            status: import("@prisma/client").$Enums.VersionStatus;
            name: string;
            updatedAt: Date;
            settings: import("@prisma/client/runtime/library").JsonValue;
            version: number;
            processModel: import("@prisma/client/runtime/library").JsonValue;
            changeLog: string | null;
            isDefault: boolean;
            definitionId: string;
            formSchema: import("@prisma/client/runtime/library").JsonValue | null;
            ruleConfig: import("@prisma/client/runtime/library").JsonValue;
            deployedAt: Date | null;
            deployedBy: string | null;
        }[];
    } & {
        id: string;
        createdAt: Date;
        status: import("@prisma/client").$Enums.ProcessStatus;
        name: string;
        updatedAt: Date;
        description: string | null;
        key: string;
        organizationId: string | null;
        updatedBy: string | null;
        createdBy: string | null;
        category: string;
        latestVersion: number;
    })[]>;
    getVersionHistory(processKey: string): Promise<{
        id: string;
        createdAt: Date;
        status: import("@prisma/client").$Enums.VersionStatus;
        name: string;
        updatedAt: Date;
        settings: import("@prisma/client/runtime/library").JsonValue;
        version: number;
        processModel: import("@prisma/client/runtime/library").JsonValue;
        changeLog: string | null;
        isDefault: boolean;
        definitionId: string;
        formSchema: import("@prisma/client/runtime/library").JsonValue | null;
        ruleConfig: import("@prisma/client/runtime/library").JsonValue;
        deployedAt: Date | null;
        deployedBy: string | null;
    }[]>;
    private generateChangeLog;
}
