export declare enum JobType {
    COMPILE_PROJECT = "COMPILE_PROJECT",
    CREATE_PROJECT = "CREATE_PROJECT"
}
export declare enum JobStatusType {
    STARTED = "STARTED",
    DONE = "DONE",
    RUNNING = "RUNNING",
    ERROR = "ERROR"
}
export declare enum JobStepStatusType {
    DONE = "DONE",
    RUNNING = "RUNNING",
    ERROR = "ERROR",
    PENDING = "PENDING",
    SKIPPED = "SKIPPED"
}
export declare enum JobStepType {
    TESTING_ADAPTOR = "TESTING_ADAPTOR",
    COMPILING = "COMPILING",
    CREATING_PROJECT = "CREATING_PROJECT",
    CACHING = "CACHING"
}
export declare const JobLabels: {
    TESTING_ADAPTOR: string;
    COMPILING: string;
    CREATING_PROJECT: string;
    CACHING: string;
};
export type BaseJob = {
    jobUuid: string;
    projectUuid: string | undefined;
    userUuid: string | undefined;
    createdAt: Date;
    updatedAt: Date;
    jobStatus: JobStatusType;
    steps: JobStep[];
};
type CompileJob = BaseJob & {
    jobType: JobType.COMPILE_PROJECT;
    jobResults?: {
        indexCatalogJobUuid: string;
    };
};
type CreateProjectJob = BaseJob & {
    jobType: JobType.CREATE_PROJECT;
    jobResults?: {
        projectUuid: string;
    };
};
export type Job = CompileJob | CreateProjectJob;
export declare function isCompileJob(value: unknown): value is CompileJob;
export declare function isCreateProjectJob(value: unknown): value is CreateProjectJob;
export type CreateJob = Pick<Job, 'jobUuid' | 'projectUuid' | 'jobType' | 'jobStatus' | 'userUuid'> & {
    steps: CreateJobStep[];
};
export type JobStep = {
    jobUuid: string;
    createdAt: Date;
    updatedAt: Date;
    stepStatus: JobStepStatusType;
    stepType: JobStepType;
    stepError: string | undefined;
    stepDbtLogs: DbtLog[] | undefined;
    stepLabel: string;
    startedAt: Date | undefined;
};
type CreateJobStep = Pick<JobStep, 'stepType'>;
export type DbtLog = {
    code: string;
    info: {
        category: string;
        code: string;
        extra: Record<string, unknown>;
        invocation_id: string;
        level: 'debug' | 'info' | 'warn' | 'error';
        log_version: 2;
        msg: string;
        name: string;
        pid: number;
        thread_name: string;
        ts: string;
        type: 'log_line';
    };
};
export declare function isDbtLog(value: unknown): value is DbtLog;
export {};
//# sourceMappingURL=job.d.ts.map