import { Redacted } from "effect"; import type { CliProjectEnvironment } from "../project.ts"; type ResolvedString = string | Redacted.Redacted; export type ResolvedCliConfigValue = T extends string ? ResolvedString : T extends ReadonlyArray ? ReadonlyArray> : T extends Array ? Array> : T extends Record ? { readonly [K in keyof T]: ResolvedCliConfigValue; } & { readonly [key: string]: ResolvedCliConfigValue; } : T extends object ? { readonly [K in keyof T]: ResolvedCliConfigValue; } : T; export declare function toPathSegments(path: string): ReadonlyArray; /** * Shared by the plain sync resolvers below and the Effect-typed variants in `../project.ts`. * Declared as an overload pair so the `unknown`-typed implementation flows through to * `interpolateValue`/`redactValue` without an `as` cast. */ export declare function resolveCliConfigValueAtPath(value: T, cliProjectEnv: Pick, path: ReadonlyArray, goViperCompat: boolean): ResolvedCliConfigValue; /** * Plain synchronous counterpart to the Effect-typed `resolveCliConfigValue` in `../project.ts`; * has no options parameter, since this package's only resolver knob (`goViperCompat`) is * internal-only. */ export declare function resolveCliConfigValue(value: T, cliProjectEnv: Pick, configPath: string): ResolvedCliConfigValue; /** See {@link resolveCliConfigValue}. */ export declare function resolveCliConfigSubtree(value: T, cliProjectEnv: Pick, pathPrefix: string): ResolvedCliConfigValue; export {}; //# sourceMappingURL=resolve.d.ts.map