import type { FlagValue } from '../../spec/types.ts';
import { IOResult } from '../../../io/types.ts';
import type { PathSpec } from '../../../types.ts';
import type { CommandFnResult, Context } from '../../config.ts';
export interface FmtFlags {
    readonly width: number | null;
    readonly goal: number | null;
    readonly prefix: string | null;
    readonly splitOnly: boolean;
    readonly tagged: boolean;
    readonly crown: boolean;
    readonly uniform: boolean;
}
/**
 * fmt's options, -w and -g read by mirage-rs before any operand is resolved:
 * the flags, or fmt's refusal of a width. Mirrors Python's `parse_flags`.
 */
export declare function parseFlags(bag: Record<string, FlagValue>): FmtFlags | IOResult;
export declare function fmtGeneric(parsed: FmtFlags, paths: PathSpec[], ctx: Context, stream: (p: PathSpec) => AsyncIterable<Uint8Array>): CommandFnResult;
//# sourceMappingURL=fmt.d.ts.map