import { CoreModels__NS__BuildType } from 'tnp-core/lib-prod';
import { BaseFeatureForProject } from 'tnp-helpers/lib-prod';
import type { Project } from '../../../../abstract/project';
import type { TaonBuildObserver } from './taon-build-observer';
export declare class BuildLeader extends BaseFeatureForProject<Project> {
    private taonBuildObserver;
    firstBuildDoneAndLeadBuildIsAllowed(): void;
    get isAllowedForLeadBuild(): boolean;
    private readonly _firstBuildDoneAndLeadBuildIsAllowed;
    private projectStaredLeadingBuild;
    private isDrityLeadBuild;
    buildsNotifiers: Map<CoreModels__NS__BuildType, {
        next(): void;
        wait(): Promise<void>;
        readonly isWaiting: boolean;
    }>;
    constructor(project: Project, taonBuildObserver: TaonBuildObserver);
    setAsDirty(): void;
    trigerLeadBuilding: (() => void) & import("lodash").Cancelable;
    recreateNotifiers(): void;
    setLeadBuildDirtyIfRunning(): void;
    private takeLeadOfBuildingDebounce;
    takeLeadOfBuilding(options?: {
        skipProjectsNames?: string[];
    }): Promise<void>;
}
