import type { Config } from "../../../pipeline/src/index.js";
import type { IO } from "../core/types";
export { parseChoice } from "./parseChoice";
export declare const getProjectConfig: () => Promise<Config>;
export declare const getProjectComponents: () => Promise<string[]>;
export declare const getPipelineContextByChoice: (env: string, componentName: string) => Promise<import("../../../pipeline/src/index.js").ComponentContext>;
export declare const getAllComponentsWithAllEnvsFlat: () => Promise<Array<{
  env: string;
  componentName: string;
}>>;
export declare const getAllComponentsWithAllEnvsHierarchical: () => Promise<{
  [componentName: string]: string[];
}>;
export declare const getAllPipelineContexts: (onlyComponent?: string | string[], {
  includeLocal
}?: {
  includeLocal?: boolean;
}) => Promise<import("../../../pipeline/src/index.js").ComponentContext[]>;
export declare const getEnvironment: (env: string, componentName: string) => Promise<import("../../../pipeline/src/index.js").Environment>;
export declare const getGitlabVar: (io: IO, env: string, componentName: string, variableName: string) => Promise<string>;
export declare const getEnvVarsResolved: (io: IO | null, env: string, componentName: string | null) => Promise<Record<string, string>>;
/**
 *
 * is used to get job only vars that should also be editable locally with catladder.
 */
export declare const getJobOnlyEnvVarsResolved: (io: IO, env: string, componentName: string) => Promise<Record<string, string>>;