/**
 * Run command - executes the PRD cron script
 */
import { Command } from 'commander';
import { INightWatchConfig, NotificationEvent } from '@night-watch/core';
/**
 * Options for the run command
 */
export interface IRunOptions {
    dryRun: boolean;
    timeout?: string;
    provider?: string;
    crossProjectFallback?: boolean;
}
/**
 * Map executor exit/result state to a notification event.
 * Returns null when the run completed with no actionable work (skip/no-op).
 */
export declare function resolveRunNotificationEvent(exitCode: number, scriptStatus?: string): NotificationEvent | null;
/**
 * Determine if cross-project fallback should run for this executor result.
 */
export declare function shouldAttemptCrossProjectFallback(options: IRunOptions, scriptStatus?: string): boolean;
/**
 * Resolve valid registered projects excluding the current project.
 */
export declare function getCrossProjectFallbackCandidates(currentProjectDir: string): Array<{
    name: string;
    path: string;
}>;
/**
 * Return Telegram webhooks that opted in to rate-limit fallback notifications.
 */
export declare function getRateLimitFallbackTelegramWebhooks(config: INightWatchConfig): Array<{
    botToken: string;
    chatId: string;
}>;
/**
 * Whether the bash execution reported a rate-limit fallback trigger.
 */
export declare function isRateLimitFallbackTriggered(resultData?: Record<string, string>): boolean;
/**
 * Build environment variables map from config and CLI options
 */
export declare function buildEnvVars(config: INightWatchConfig, options: IRunOptions): Record<string, string>;
/**
 * Apply CLI flag overrides to the config
 */
export declare function applyCliOverrides(config: INightWatchConfig, options: IRunOptions): INightWatchConfig;
/**
 * Information about a scanned PRD file, including claim status
 */
export interface IPrdScanItem {
    name: string;
    claimed: boolean;
    claimInfo: {
        hostname: string;
        pid: number;
        timestamp: number;
    } | null;
}
/**
 * Scan the PRD directory for eligible PRD files
 */
export declare function scanPrdDirectory(projectDir: string, prdDir: string, maxRuntime: number): {
    pending: IPrdScanItem[];
    completed: string[];
};
/**
 * Register the run command with the program
 */
export declare function runCommand(program: Command): void;
//# sourceMappingURL=run.d.ts.map