/**
 * `neotoma reporter setup` — one-shot reporter onboarding command.
 *
 * Orchestrates the steps a new friction-reporter (tester / user agent) needs:
 *   1. Version check: warns when the installed Neotoma CLI is older than the
 *      minimum version required for stable issue reporting.
 *   2. Preflight: applies harness permission-file allowlist entries so agents
 *      can call `neotoma` without per-command approval prompts.
 *   3. Config write: persists default reporter fields (reporter_git_sha,
 *      reporter_app_version, default_visibility) to project-local
 *      `.neotoma/reporter.json` so subsequent `neotoma issues create` calls
 *      pick them up automatically.
 *   4. Smoke-test hint: prints a ready-to-run dry-run command the user can
 *      copy to verify the wiring.
 */
import type { ToolId } from "./doctor.js";
/** Minimum neotoma version required for stable reporter usage. */
export declare const REPORTER_MIN_VERSION = "0.12.0";
/** Config file path relative to the project root (cwd). */
export declare const REPORTER_CONFIG_FILENAME = ".neotoma/reporter.json";
export interface ReporterConfig {
    reporter_git_sha?: string;
    reporter_app_version?: string;
    default_visibility?: "public" | "private";
}
export interface ReporterSetupStepResult {
    step: string;
    ok: boolean;
    skipped?: boolean;
    changed?: boolean;
    reason?: string;
    details?: unknown;
}
export interface ReporterSetupReport {
    tool: ToolId | null;
    dry_run: boolean;
    installed_version: string | null;
    version_ok: boolean;
    steps: ReporterSetupStepResult[];
    reporter_config: ReporterConfig;
    reporter_config_path: string;
    smoke_test_command: string;
    overall_ok: boolean;
    summary: string;
}
export interface RunReporterSetupOptions {
    tool?: string | ToolId | null;
    dryRun?: boolean;
    cwd?: string;
    /** Pre-supply git SHA; skips prompt when set. */
    gitSha?: string;
    /** Pre-supply app/CLI version; skips prompt when set. */
    appVersion?: string;
    /** Default visibility for submitted issues. */
    defaultVisibility?: "public" | "private";
    /** When true, emit a copy-paste env-var block instead of writing the file. */
    printBlock?: boolean;
}
/** Semver comparison: returns true when `installed` >= `required`. */
export declare function semverGte(installed: string, required: string): boolean;
/** Read existing reporter config, merging over defaults. */
export declare function readReporterConfig(configPath: string): Promise<ReporterConfig>;
/** Write reporter config JSON, creating the .neotoma/ directory if needed. */
export declare function writeReporterConfig(configPath: string, config: ReporterConfig): Promise<void>;
/** Build the copy-paste env-var block for --print-block mode. */
export declare function buildEnvBlock(config: ReporterConfig, configPath: string): string;
export declare function runReporterSetup(options?: RunReporterSetupOptions): Promise<ReporterSetupReport>;
//# sourceMappingURL=reporter_setup.d.ts.map