import type { Command } from "commander";
export interface CliOptionRef {
    flags: string;
    description: string;
    defaultValue?: string;
    required: boolean;
    choices?: string[];
}
export interface CliCommandRef {
    path: string;
    name: string;
    aliases: string[];
    description: string;
    args: string;
    options: CliOptionRef[];
    slug: string;
    depth: number;
    subcommands: CliCommandRef[];
}
export interface CliReference {
    name: string;
    description: string;
    options: CliOptionRef[];
    commands: CliCommandRef[];
}
export interface MachinePaths {
    homeDir: string;
    tmpDir: string;
}
export declare function normalizeMachinePaths(value: string, paths: MachinePaths): string;
export declare function formatDefault(value: unknown, paths?: MachinePaths): string | undefined;
export declare function slugifyCommandPath(path: string): string;
export declare function extractCliReference(program: Command): CliReference;
export declare function flattenCommands(reference: CliReference): CliCommandRef[];
export declare function renderCliReferenceMarkdown(reference: CliReference): string;
