import type { ComponentContext, EnvironmentEnvVarPart as EnvironmentVariables } from "../types";
import type { CreateComponentContextContext } from "..";
import type { StringOrBashExpression } from "../bash/BashExpression";
import type { EnvironmentContext } from "../types/environmentContext";
export type SecretEnvVar = {
  key: string;
  hidden?: boolean;
};
declare const getBasePredefinedVariables: (ctx: EnvironmentContext) => {
  ENV_SHORT: string;
  APP_DIR: string;
  ENV_TYPE: "dev" | "review" | "stage" | "prod" | "local";
};
type BasePredefinedVariables = ReturnType<typeof getBasePredefinedVariables>;
export type PredefinedVariables = BasePredefinedVariables & {
  HOSTNAME?: StringOrBashExpression;
  ROOT_URL?: StringOrBashExpression;
  HOSTNAME_INTERNAL?: StringOrBashExpression;
  ROOT_URL_INTERNAL?: StringOrBashExpression;
};
export declare const getEnvironmentVariables: (ctx: CreateComponentContextContext, options?: {
  shouldResolveReferences?: boolean;
}) => Promise<EnvironmentVariables>;
export declare const getSecretVarName: (env: string, componentName: string, key: string) => string;
export declare const getSecretVarNameForContext: (context: ComponentContext, key: string) => string;
export {};