import type { CommandModule } from "yargs";
/**
 * CLI Command Factory for generate commands
 */
export declare class CLICommandFactory {
    /**
     * Normalize loop session variables before merging them into provider options.
     *
     * The CLI loop schema models some fields (e.g. `stopSequences`,
     * `enabledToolNames`) as a single comma-separated string for ergonomic
     * input, but providers expect `string[]`. Without conversion,
     * `set stopSequences a,b` would be sent as one stop token "a,b" instead
     * of two ("a", "b"); `set enabledToolNames read,write` would be cast to
     * a `string[]` containing the single literal "read,write" and silently
     * filter out every tool. This helper splits and trims those fields so
     * the spread into `enhancedOptions` produces the correct shape across
     * generate / batch / stream paths.
     */
    private static normalizeLoopSessionVariables;
    private static readonly commonOptions;
    private static buildOptions;
    private static processCliImages;
    private static processCliCSVFiles;
    private static processCliPDFFiles;
    private static processCliFiles;
    private static processCliVideoFiles;
    private static isNonLocalFileReference;
    private static validateCliInputFiles;
    private static processOptions;
    /**
     * Validate Anthropic subscription options
     * Ensures subscription tier is provided when using anthropic-subscription provider
     * or when oauth auth method is selected
     */
    private static validateAnthropicSubscriptionOptions;
    private static handleOutput;
    /**
     * Helper method to handle TTS audio file output and playback
     * Saves audio to file when --tts-output flag is provided
     * Plays audio when --tts-play flag is provided
     */
    private static handleTTSOutput;
    /**
     * Helper method to configure options for video generation mode
     * Auto-configures provider, model, and tools settings for video generation
     */
    private static configureVideoMode;
    /**
     * Helper method to configure options for PPT generation mode
     * Auto-configures provider, model, and tools settings for presentation generation
     */
    private static configurePPTMode;
    /**
     * Helper method to handle video file output
     * Saves generated video to file when --videoOutput flag is provided
     */
    private static handleVideoOutput;
    /**
     * Helper method to handle avatar video file output.
     * Saves the generated avatar buffer to --avatarOutput path when provided.
     */
    private static handleAvatarOutput;
    /**
     * Helper method to handle music audio file output.
     * Saves the generated music buffer to --musicOutput path when provided.
     */
    private static handleMusicOutput;
    /**
     * Helper method to handle PPT file output
     * Displays PPT generation result info
     */
    private static handlePPTOutput;
    private static isValidTokenUsage;
    private static normalizeTokenUsage;
    private static formatAnalyticsForTextMode;
    /**
     * Create the new primary 'generate' command
     */
    static createGenerateCommand(): CommandModule;
    /**
     * Create stream command
     */
    static createStreamCommand(): CommandModule;
    /**
     * Create batch command
     */
    static createBatchCommand(): CommandModule;
    /**
     * Create provider commands
     */
    static createProviderCommands(): CommandModule;
    /**
     * Create status command (alias for provider status)
     */
    static createStatusCommand(): CommandModule;
    /**
     * Create models commands
     */
    static createModelsCommands(): CommandModule;
    /**
     * Create MCP commands
     */
    static createMCPCommands(): CommandModule;
    /**
     * Create discover command
     */
    static createDiscoverCommand(): CommandModule;
    /**
     * Create agent commands for multi-agent orchestration
     */
    static createAgentCommands(): CommandModule;
    /**
     * Create network commands for agent network orchestration
     */
    static createNetworkCommands(): CommandModule;
    /**
     * Create memory commands
     */
    static createMemoryCommands(): CommandModule;
    /**
     * Create skills commands — manage the local skills store
     * (list / show / search / create / delete). The store directory comes
     * from --skills-dir, NEUROLINK_SKILLS_DIR, or defaults to ./skills.
     */
    static createSkillsCommands(): CommandModule;
    /**
     * Create config commands
     */
    static createConfigCommands(): CommandModule;
    /**
     * Create validate command
     */
    static createValidateCommand(): CommandModule;
    /**
     * Create get-best-provider command
     */
    static createBestProviderCommand(): CommandModule;
    /**
     * Create Ollama commands
     */
    static createOllamaCommands(): CommandModule;
    /**
     * Create setup command
     */
    static createSetupCommand(): CommandModule;
    /**
     * Create SageMaker commands
     */
    static createSageMakerCommands(): CommandModule;
    /**
     * Create completion command
     */
    /**
     * Create loop command
     */
    static createLoopCommand(): CommandModule;
    /**
     * Create completion command
     */
    static createCompletionCommand(): CommandModule;
    /**
     * Execute provider status command
     */
    private static executeProviderStatus;
    /**
     * Handle stdin input for generate command
     */
    private static handleGenerateStdinInput;
    /**
     * Detect output mode (video, ppt, avatar, music, or text) based on CLI arguments
     */
    private static detectGenerateOutputMode;
    /**
     * Process context for generation command
     */
    private static processGenerateContext;
    /**
     * Build multimodal input from CLI arguments
     */
    private static buildGenerateMultimodalInput;
    /**
     * Build output configuration for generate request
     */
    private static buildGenerateOutputConfig;
    /**
     * Handle successful generation result
     */
    private static handleGenerateSuccess;
    /**
     * Execute the generate command
     */
    private static executeGenerate;
    /**
     * Process context for streaming
     */
    private static processStreamContext;
    /**
     * Execute dry-run streaming simulation
     */
    private static executeDryRunStream;
    /**
     * Execute real streaming with timeout handling
     */
    private static executeRealStream;
    /**
     * Process stream with timeout handling
     */
    private static processStreamWithTimeout;
    /**
     * Display analytics and evaluation results
     */
    private static displayStreamResults;
    /**
     * Handle stream output file writing and debug output
     */
    private static handleStreamOutput;
    /**
     * Log debug information for stream result
     */
    private static logStreamDebugInfo;
    /**
     * Handle stdin input for stream command
     */
    private static handleStdinInput;
    /**
     * Execute the stream command
     */
    private static executeStream;
    /**
     * Execute the batch command
     */
    private static executeBatch;
    /**
     * Execute config export command
     */
    private static executeConfigExport;
    /**
     * Execute get best provider command
     */
    private static executeGetBestProvider;
    /**
     * Execute memory stats command
     */
    /**
     * Resolve a standalone SkillsManager for the `skills` command group.
     * Directory precedence: --skills-dir > NEUROLINK_SKILLS_DIR > ./skills.
     * Cache is disabled so every command sees the directory's current state.
     */
    private static resolveSkillsManagerForCli;
    private static executeSkillsList;
    private static executeSkillsShow;
    private static executeSkillsSearch;
    private static executeSkillsCreate;
    private static executeSkillsDelete;
    private static executeMemoryStats;
    /**
     * Execute memory history command
     */
    private static executeMemoryHistory;
    /**
     * Execute memory clear command
     */
    private static executeMemoryClear;
    /**
     * Execute memory list command
     */
    private static executeMemoryList;
    /**
     * Resolve the requested export format for memory export commands.
     * The generic `--format` flag is typed for the generate/stream commands
     * (text/json/table/yaml), so read the raw value here and narrow it to the
     * two serializations the memory export path actually supports.
     */
    private static resolveMemoryExportFormat;
    /**
     * Build a filesystem-safe filename for a session export.
     *
     * A session ID is caller-controlled data (it can come from Redis keys, user
     * input, etc.), so it must never be interpolated directly into a path — a
     * value like `../../etc/cron.d/x` would otherwise let export-all write
     * outside the chosen output directory. We reduce the ID to a bare basename
     * and allow-list its characters; callers additionally verify containment.
     */
    private static sanitizeSessionExportFilename;
    /**
     * Serialize one or more session exports to CSV. Each message becomes a row;
     * session-level fields are repeated per row so the output is a flat,
     * spreadsheet-friendly table.
     */
    private static sessionExportsToCsv;
    /**
     * Execute memory export command
     */
    private static executeMemoryExport;
    /**
     * Execute memory export-all command
     */
    private static executeMemoryExportAll;
    /**
     * Execute memory delete command
     */
    private static executeMemoryDelete;
    /**
     * Execute completion command
     */
    private static executeCompletion;
    /**
     * Flush Langfuse traces before exit
     */
    private static flushLangfuseTraces;
}
