import { Command } from 'commander'; import { Result, HttpClient } from '@oidfed/core'; import { z } from 'zod'; declare const ConfigSchema: z.ZodObject<{ trust_anchors: z.ZodDefault; kid: z.ZodOptional; use: z.ZodOptional>; alg: z.ZodOptional; key_ops: z.ZodOptional>>; n: z.ZodOptional; e: z.ZodOptional; crv: z.ZodOptional; x: z.ZodOptional; y: z.ZodOptional; }, z.core.$loose>>; }, z.core.$strip>>; }, z.core.$strict>>>; http_timeout_ms: z.ZodDefault; max_chain_depth: z.ZodDefault; }, z.core.$strict>; type Config = z.infer; declare const DEFAULT_CONFIG: Config; /** * Load the CLI configuration. * * Path resolution order: * 1. The `path` argument if supplied (typically from `--config`). * 2. `process.env.OIDFED_CONFIG_PATH` if set. * 3. The default `~/.oidfed/config.yaml`. * * Missing files (ENOENT) silently produce DEFAULT_CONFIG; YAML or schema * validation errors are returned as `Result.err`. */ declare function loadConfig(path?: string): Promise>; interface OutputFormatter { format(data: unknown): string; } declare function createFormatter(options: { json?: boolean | undefined; }): OutputFormatter; /** Exit codes: 0 = success, 1 = federation error, 2 = usage error */ declare const ExitCode: { readonly OK: 0; readonly FEDERATION_ERROR: 1; readonly USAGE_ERROR: 2; }; type ExitCode = (typeof ExitCode)[keyof typeof ExitCode]; declare function resultToExitCode(result: Result): ExitCode; declare function createHttpClient(timeoutMs?: number): HttpClient; interface LoggerOptions { readonly quiet: boolean; readonly verbose: boolean; readonly stderr?: Pick; } interface Logger { info(msg: string): void; error(msg: string): void; debug(msg: string): void; warn(msg: string): void; } declare function createLogger(opts: LoggerOptions): Logger; interface ProgramOptions { readonly json?: boolean | undefined; readonly quiet?: boolean; readonly verbose?: boolean; readonly config?: string; } declare function createProgram(): Command; declare function run(argv: string[]): Promise; export { type Config, DEFAULT_CONFIG, ExitCode, type Logger, type OutputFormatter, type ProgramOptions, createFormatter, createHttpClient, createLogger, createProgram, loadConfig, resultToExitCode, run };