/**
 * Small helpers for consistent CLI option extraction.
 */
export interface ExtractedOption {
    found: boolean;
    value?: string;
    missingValue: boolean;
    remainingArgs: string[];
}
export interface ExtractOptionOptions {
    /**
     * Allow values that start with "-" when they are not recognized flags.
     * Useful for model IDs or other arbitrary strings.
     */
    allowDashValue?: boolean;
    /**
     * Allow values that start with "--" when allowDashValue is enabled.
     * Keep this opt-in narrow so unknown long flags are still rejected by default.
     */
    allowLongDashValue?: boolean;
    /**
     * Known flags for the current command. Used with allowDashValue to avoid
     * treating a real flag token as a value.
     */
    knownFlags?: readonly string[];
}
export interface ScanCommandArgsOptions {
    knownFlags: readonly string[];
    valueFlags?: readonly string[];
    allowDashValue?: boolean;
}
export interface ScannedCommandArgs {
    positionals: string[];
    unknownFlags: string[];
}
/**
 * Extract a single-value option and remove it from args.
 * Supports `--flag value` and `--flag=value` forms.
 */
export declare function extractOption(args: string[], flags: readonly string[], options?: ExtractOptionOptions): ExtractedOption;
/** Returns true if any of the provided boolean flags are present. */
export declare function hasAnyFlag(args: string[], flags: readonly string[]): boolean;
export declare function scanCommandArgs(args: string[], options: ScanCommandArgsOptions): ScannedCommandArgs;
//# sourceMappingURL=arg-extractor.d.ts.map