import { EventTrigger } from './config';
/**
 * Valid check types that can be performed by Visor
 * Now config-driven - any check name from config is valid
 */
export type CheckType = string;
/**
 * Valid output formats for CLI results
 */
export type OutputFormat = 'table' | 'json' | 'markdown' | 'sarif';
/**
 * CLI options parsed from command line arguments
 */
export interface CliOptions {
    /** Array of check types to perform */
    checks: CheckType[];
    /** Output format for results */
    output: OutputFormat;
    /** Path to configuration file */
    configPath?: string;
    /** Timeout for check operations in milliseconds (default: 600000ms / 10 minutes) */
    timeout?: number;
    /** Maximum number of checks to run in parallel (default: 3) */
    maxParallelism?: number;
    /** Enable debug mode for detailed output */
    debug?: boolean;
    /** Increase verbosity (more than info, less than debug) */
    verbose?: boolean;
    /** Reduce verbosity to warnings and errors */
    quiet?: boolean;
    /** Stop execution on first failure condition */
    failFast?: boolean;
    /** Tags to include - checks must have at least one of these tags */
    tags?: string[];
    /** Tags to exclude - checks with any of these tags will be skipped */
    excludeTags?: string[];
    /** Allowed URL patterns for remote config extends */
    allowedRemotePatterns?: string[];
    /** Show help text */
    help?: boolean;
    /** Show version */
    version?: boolean;
    /** Code context mode: auto (default), enabled (force include), disabled (force exclude) */
    codeContext?: 'auto' | 'enabled' | 'disabled';
    /** When set, write formatted output to this file instead of stdout */
    outputFile?: string;
    /** Analyze diff vs base branch when on feature branch (auto-enabled for code-review schemas) */
    analyzeBranchDiff?: boolean;
    /** Simulate GitHub event type for event-based filtering ('all' runs checks regardless of event triggers) */
    event?: EventTrigger | 'all';
    /** Enable debug visualizer server for live debugging */
    debugServer?: boolean;
    /** Port for debug visualizer server (default: 3456) */
    debugPort?: number;
    /** Message for human-input checks (inline string or file path) */
    message?: string;
    /** Deprecated: GitHub integration v2 is always enabled in GitHub contexts */
    githubV2?: boolean;
    /** Enable Slack Socket Mode runner */
    slack?: boolean;
    /** Enable A2A Agent Protocol server mode */
    a2a?: boolean;
    /** Enable interactive TUI (chat + logs tabs) */
    tui?: boolean;
    /** Keep workspace folders after execution (for debugging) */
    keepWorkspace?: boolean;
    /** Set workspace base path (overrides VISOR_WORKSPACE_PATH) */
    workspacePath?: string;
    /** Use current working directory as workspace base path */
    workspaceHere?: boolean;
    /** Set workspace directory name (overrides VISOR_WORKSPACE_NAME) */
    workspaceName?: string;
    /** Set main project folder name inside workspace (overrides VISOR_WORKSPACE_PROJECT) */
    workspaceProjectName?: string;
    /** Watch config file for changes and reload automatically */
    watch?: boolean;
    /** GitHub personal access token for API operations */
    githubToken?: string;
    /** GitHub App ID for authentication */
    githubAppId?: string;
    /** GitHub App private key (PEM content or file path) */
    githubPrivateKey?: string;
    /** GitHub App installation ID (auto-detected if omitted) */
    githubInstallationId?: string;
}
/**
 * CLI command configuration
 */
export interface CliCommand {
    /** Command name */
    name: string;
    /** Command description */
    description: string;
    /** Command options */
    options: CliOptions;
}
//# sourceMappingURL=cli.d.ts.map