/**
 * Shared Runner Utilities — Barrel Re-export
 *
 * This module re-exports all shared utilities from sub-modules.
 * Runner modules import from this file for convenience.
 *
 * Sub-modules:
 * - docker-credentials.ts — Credential volume + host creds + tmux keychain
 * - executor.ts — Executor command building + preflight checks
 * - docker-management.ts — Container lifecycle (create, setup, ensure, etc.)
 * - prompt-builder.ts — Integration commands + orchestrator/ticket prompts
 */
import { spawn, execSync } from 'node:child_process';
import * as fs from 'node:fs';
import * as path from 'node:path';
import * as os from 'node:os';
import { fileURLToPath } from 'node:url';
import { ExecutionEnvironment, DisplayMode, OutputMode, PermissionMode, SessionManager, ExecutorType, ExecutionContext, ExecutionConfig, DEFAULT_EXECUTION_CONFIG, normalizeEnvironment } from '../types.js';
import type { TerminalApp } from '../types.js';
import { getSetTitleCommands } from '../../terminal.js';
import { readDevcontainerJson, generateOrchestratorDockerfile } from '../devcontainer.js';
import type { OrchestratorDockerOptions } from '../devcontainer.js';
import { getCodexCommand, resolveCodexExecutionContext, validateCodexMode, CodexModeError } from '../codex-adapter.js';
import { resolveToolsForSpawn } from '../../tool-registry/index.js';
export interface RunnerResult {
    success: boolean;
    pid?: string;
    containerId?: string;
    sessionId?: string;
    logPath?: string;
    error?: string;
}
export type Runner = (context: ExecutionContext, executor: ExecutorType, config: ExecutionConfig) => Promise<RunnerResult>;
/**
 * Build a unified name for tmux sessions, window names, and tab titles.
 * Format: "{ticketId}-{action}-{agentName}"
 */
export declare function buildSessionName(context: ExecutionContext): string;
export declare function buildWindowTitle(context: ExecutionContext): string;
export declare function buildTmuxWindowName(context: ExecutionContext): string;
export declare function shouldUseControlMode(terminalApp: TerminalApp, controlModeEnabled: boolean): boolean;
export declare function buildTmuxMouseOption(_useControlMode: boolean): string;
export declare function buildTmuxAttachCommand(useControlMode: boolean, includeUnicodeFlag?: boolean): string;
export declare function configureITermTmuxPreferences(mode: 'tab' | 'window'): void;
export declare function configureITermTmuxWindowMode(mode: 'tab' | 'window'): void;
export declare function getGitHubToken(): string | null;
export declare function isGitHubTokenAvailable(): boolean;
export type DockerDaemonStatus = {
    available: boolean;
    reason: 'ready' | 'not-installed' | 'daemon-not-ready';
    message: string;
};
export declare function checkDockerDaemon(): DockerDaemonStatus;
export declare function isDockerRunning(): boolean;
/** @deprecated No longer required - we use raw Docker commands now */
export declare function isDevcontainerCliInstalled(): boolean;
export { CLAUDE_CREDENTIALS_VOLUME, credentialsVolumeExists, dockerCredentialsExist, getDockerCredentialInfo, hostCredentialsExist, ensureTmuxServerHasKeychainAccess, copyClaudeCredentials, } from './docker-credentials.js';
export { getExecutorCommand, isClaudeExecutor, getExecutorDisplayName, getExecutorPackage, PreflightResult, checkExecutorOnHost, checkExecutorInContainer, runExecutorPreflight, } from './executor.js';
export { getHostPrltVersion, getAgentContainerName, getContainerName, getImageName, containerExists, isContainerRunning, getContainerId, buildDockerImage, imageExists, createDockerContainer, runContainerSetup, ensureDockerContainer, } from './docker-management.js';
export { buildIntegrationCommandsSection, buildOrchestratorSystemPrompt, buildPrompt, } from './prompt-builder.js';
export { spawn, execSync, fs, path, os, fileURLToPath, ExecutionEnvironment, DisplayMode, OutputMode, PermissionMode, SessionManager, ExecutorType, ExecutionContext, ExecutionConfig, DEFAULT_EXECUTION_CONFIG, normalizeEnvironment, getSetTitleCommands, readDevcontainerJson, generateOrchestratorDockerfile, getCodexCommand, resolveCodexExecutionContext, validateCodexMode, CodexModeError, resolveToolsForSpawn, };
export type { TerminalApp, OrchestratorDockerOptions };
