import type { JsonValue } from '../control-plane';
import type { PlacementRequirements, RemoteBuild } from './types';
import { DurableOperationQueue } from '../queue';
import { PlacementService } from './service';
import { PlacementStore } from './store';
export declare class RemoteBuildService {
    readonly store: PlacementStore;
    readonly placement: PlacementService;
    private now;
    readonly queue: DurableOperationQueue;
    constructor(store: PlacementStore, placement: PlacementService, queue?: DurableOperationQueue, now?: () => Date);
    enqueue(input: {
        projectId: string;
        resourceId: string;
        sourceSha: string;
        buildSpec: JsonValue;
        requirements?: Partial<PlacementRequirements>;
    }): RemoteBuild;
    cancel(id: string): RemoteBuild;
}
