/**
 * Tri-Modal Support for MSSCI-12086
 *
 * Provides mode selection and path resolution for stepped workflows
 * supporting create/validate/edit modes.
 */
import type { WorkflowDefinition } from './workflow-schema.js';
/**
 * Valid tri-modal mode values
 */
export type TrimodalMode = 'create' | 'validate' | 'edit';
/**
 * Result of parsing --mode flag from arguments
 */
export interface TrimodalParseResult {
    /** Whether parsing succeeded */
    success: boolean;
    /** Parsed mode (undefined if no flag provided) */
    mode?: TrimodalMode;
    /** Error message if parsing failed */
    error?: string;
}
/**
 * Result of validating a mode against a workflow
 */
export interface ModeValidationResult {
    /** Whether the mode is valid for this workflow */
    valid: boolean;
    /** Error message if invalid */
    error?: string;
}
/**
 * Result of resolving steps path for a mode
 */
export interface StepsPathResult {
    /** Whether resolution succeeded */
    success: boolean;
    /** Resolved steps path */
    path?: string;
    /** Step file pattern */
    pattern?: string;
    /** Error message if resolution failed */
    error?: string;
}
/**
 * Parse --mode flag from command line arguments
 *
 * Supports:
 * - --mode create
 * - --mode validate
 * - --mode edit
 * - --mode=create (equals syntax)
 * - -m create (shorthand)
 *
 * @param args - Command line arguments
 * @returns Parse result with mode or error
 */
export declare function parseTrimodalFlag(args: string[]): TrimodalParseResult;
/**
 * Validate that a mode is supported by a workflow
 *
 * @param mode - Mode to validate
 * @param workflow - Workflow definition to check against
 * @returns Validation result
 */
export declare function validateMode(mode: TrimodalMode, workflow: WorkflowDefinition): ModeValidationResult;
/**
 * Resolve the steps path for a given mode
 *
 * Priority:
 * 1. workflow.modes[mode] if defined
 * 2. workflow.steps.path as fallback
 *
 * @param workflow - Workflow definition
 * @param mode - Selected mode
 * @returns Steps path result
 */
export declare function resolveStepsPath(workflow: WorkflowDefinition, mode: TrimodalMode): StepsPathResult;
/**
 * Get the default mode for a workflow
 *
 * @param workflow - Workflow definition
 * @returns Default mode ('create' if not specified, undefined for phased workflows)
 */
export declare function getDefaultMode(workflow: WorkflowDefinition): TrimodalMode | undefined;
//# sourceMappingURL=trimodal.d.ts.map