import type { IBuild } from "../entities/Build";
import type { IQueryFilter, IQueryOptions, IQueryPagination } from "../interfaces";
import type { BuildStatus, DeployStatus, Ownership } from "../interfaces/SystemTypes";
import type { RerunBuildParams, StartBuildParams } from "../modules/build";
import BaseService from "./BaseService";
import { ContainerRegistryService } from "./ContainerRegistryService";
export declare class BuildService extends BaseService<IBuild> {
    regSvc: ContainerRegistryService;
    constructor(ownership?: Ownership);
    find(filter?: IQueryFilter<IBuild>, options?: IQueryOptions & IQueryPagination, pagination?: IQueryPagination): Promise<IBuild[]>;
    findOne(filter?: IQueryFilter<IBuild>, options?: IQueryOptions): Promise<IBuild>;
    startBuild(data: StartBuildParams, ownership: Ownership): Promise<{
        SOCKET_ROOM: string;
        build: IBuild;
        imageURL: string;
        buildImage: string;
        startTime: import("dayjs").Dayjs;
        builder: string;
        logURL: string;
    }>;
    stopBuild(slug: string, buildStatus: BuildStatus, deployStatus?: DeployStatus): Promise<IBuild | {
        error: any;
    }>;
    rerunBuild(build: IBuild, options: RerunBuildParams, ownership?: Ownership): Promise<{
        SOCKET_ROOM: string;
        build: IBuild;
        imageURL: string;
        buildImage: string;
        startTime: import("dayjs").Dayjs;
        builder: string;
        logURL: string;
    }>;
}
//# sourceMappingURL=BuildService.d.ts.map