export interface BuildCompleteSignal {
    signalId: string;
    result: BuildResult;
    error?: string;
}
export declare enum BuildResult {
    COMPLETED = 0,
    FAILED = 1,
    TIMEOUT = 2
}
export interface MessageBroker {
    publishSignal(signal: BuildCompleteSignal): Promise<void>;
    waitForSignal(signalId: string, timeoutMs: number): Promise<BuildCompleteSignal>;
    publishKeyDeleted(namespace: string, key: string): Promise<void>;
    onKeyDeleted(namespace: string, handle: (key: string) => void): Promise<void>;
    close(): Promise<void>;
}
