import type { StatusProbe } from "./ui-status.js";
import { type DeployPipelineValue, type GithubEnvironmentsLookup } from "./ui-deploy-pipeline-model.js";
export { assembleDeployPipelineStages, buildDeployPipelineResult, DEPLOY_PIPELINE_PROBE_ID, mapEnvironmentHoldStage, parseDeployWorkflowStages, type DeployPipelineStage, type DeployPipelineValue, type GithubEnvironmentInfo, type GithubEnvironmentsLookup, } from "./ui-deploy-pipeline-model.js";
/** Injectable collaborators for focused unit tests. */
export type DeployPipelineDependencies = {
    readonly readDeployWorkflow?: (cwd: string) => Promise<string | null>;
    readonly readConfiguredEnvironments?: (cwd: string) => Promise<readonly string[]>;
    readonly listGithubEnvironments?: (cwd: string, signal: AbortSignal, timeoutMs: number) => Promise<GithubEnvironmentsLookup>;
};
/**
 * List GitHub Environments for the project's origin repo via `gh api`.
 * @param cwd - Project root
 * @param signal - Probe cancellation signal
 * @param timeoutMs - Child-process timeout
 * @returns Authenticated list, not-authenticated, or error
 */
export declare function listGithubEnvironmentsViaGh(cwd: string, signal: AbortSignal, timeoutMs: number): Promise<GithubEnvironmentsLookup>;
/**
 * Create the probe that reports Deploy pipeline stages for `lisa ui`.
 * @param cwd - Project root the console is serving
 * @param dependencies - Injectable IO for focused tests
 * @returns Status probe registered as `deploy-pipeline-stages`
 */
export declare function createDeployPipelineProbe(cwd: string, dependencies?: DeployPipelineDependencies): StatusProbe<DeployPipelineValue>;
//# sourceMappingURL=ui-deploy-pipeline.d.ts.map