/**
 * Humanize an Ability-DSL / scoring `condition` into plain English.
 *
 * Shared by the ability-text CLI (`commands/translate.ts`) and the scoring-card
 * translator (`scoring.ts`). Output is **ASCII-only** with a fixed clause and
 * parameter order: it is pinned byte-for-byte across the TS and Rust ports by
 * the `conformance/scoring-translation` corpus, so any phrasing change here is a
 * semantic corpus change (bump `conformance/SPEC_VERSION`).
 */
/**
 * Minimal structural view of a condition node. Matches both the ability-dsl
 * condition schema and the `secondary-card` award `when` field (a simple node
 * carries `type` + `parameters` + `negated`; a compound node carries
 * `operator` + `operands`).
 */
export interface Condition {
    type?: string;
    operator?: "and" | "or" | "not";
    operands?: Condition[];
    parameters?: Record<string, unknown>;
    negated?: boolean;
}
/** kebab-case → space-separated words (`enemy-territory` → `enemy territory`). */
export declare function dekebab(s: string): string;
export declare function describeCondition(c: Condition): string;
//# sourceMappingURL=condition.d.ts.map