import { type LintFormatTooling } from "./lint-format-tooling.js"; import { type NodeTarget } from "./node-target.js"; import type { Bundler, LicenseName, PackageManager } from "./templates/scaffold-config.js"; export { normalizeGitHubUrl } from "./name-helpers.js"; export interface CliArguments { author?: string; backup?: boolean; bundler?: Bundler; cli?: boolean; codecov?: boolean; communityFiles?: boolean; description?: string; directoryArgument?: string; dryRun: boolean; force: boolean; help: boolean; jsr?: boolean; license?: LicenseName; lintFormatTooling?: LintFormatTooling; nodeTarget?: NodeTarget; packageManager?: PackageManager; projectName?: string; removeOrphans?: boolean; repoUrl?: string; securityWorkflows?: boolean; command: CliCommand; configAction?: ConfigAction; configKey?: string; configPath?: string; configValue?: string; saveDefaults: boolean; skipGit: boolean; skipInstall: boolean; version: boolean; workspace?: boolean; yes: boolean; zod?: boolean; } export interface DetectedDefaults { author: string; githubRepoUrl: string; projectName: string; } export type CliCommand = "config" | "scaffold" | "update"; export type ConfigAction = "get" | "path" | "set" | "unset"; export declare const configActionList: string; export type WarningSink = (message: string) => void; interface GitReaders { readGitConfigValue(key: string): Promise; readGitRemoteOrigin(): Promise; } /** * Every option name the parser accepts, derived from the parsing maps so a new * option cannot be added without `--help` coverage. `cli-output` tests assert * each name (or its collapsed `--[no-]name` form) appears in the help text. */ export declare const cliOptionNames: readonly string[]; export declare const parseCliArguments: (args: string[]) => CliArguments; export declare const deriveDirectoryName: (projectName: string) => string; export declare const detectDefaults: (directoryArgument: string | undefined, options?: { gitReaders?: GitReaders; warn?: WarningSink; }) => Promise; //# sourceMappingURL=cli-helpers.d.ts.map