export interface FollowConnection {
    baseUrl: string;
    token: string;
    runId?: string;
}
interface FollowOutput {
    stdout: (text: string) => void;
    stderr: (text: string) => void;
}
interface CommandResult {
    status: number | null;
    stdout?: string | Buffer;
    stderr?: string | Buffer;
    error?: Error;
}
type CommandRunner = (command: string, args: string[], options: {
    encoding: "utf-8";
}) => CommandResult;
export interface OpenFollowTabOptions {
    sessionFilePath: string;
    stepKey?: string;
    cwd: string;
    commandName: string;
    env?: NodeJS.ProcessEnv;
    runCommand?: CommandRunner;
}
export declare function openFollowTab(options: OpenFollowTabOptions): string | null;
export declare function followRun(connection: FollowConnection, options?: {
    stepKey?: string;
    output?: FollowOutput;
}): Promise<number>;
export declare function replayRunArchive(filePath: string, options?: {
    stepKey?: string;
    output?: FollowOutput;
}): number;
export {};
