import { type JobEntry, type StateManager } from "../../../../../packages/poe-code-config/dist/index.js";
import { type JobHandle, type OpenedEnv } from "../../../../../packages/agent-harness-tools/dist/index.js";
import type { CliContainer } from "../../../container.js";
export type JobIntent = "running" | "pullable";
export declare function createRuntimeState(container: CliContainer): StateManager;
export declare function resolveJob(state: StateManager, jobId: string | undefined, intent: JobIntent): Promise<JobEntry>;
export declare function attachJob(entry: JobEntry): Promise<{
    env: OpenedEnv;
    handle: JobHandle;
}>;
export declare function parseSince(value: string | undefined): Date | undefined;
export declare function syncJob(entry: JobEntry, opts: {
    forceSync: boolean;
    close: boolean;
}): Promise<void>;
export declare function streamJobLog(handle: JobHandle, opts: {
    since?: Date;
    follow: boolean;
    write(chunk: string): void;
    onDetach?: () => void;
}): Promise<void>;
export declare function createLineBufferedLogWriter(writeLine: (line: string) => void): {
    flush(): void;
    write(chunk: string): void;
};
export declare function waitForGracefulStop(handle: JobHandle, graceMs?: number): Promise<void>;
