import { PrerequisiteFlagComparator, SegmentComparator, UserComparator } from "./ConfigJson";
import type { PrerequisiteFlagCondition, SegmentCondition, Setting, SettingValue, TargetingRule, UserConditionUnion } from "./ProjectConfig";
export declare class EvaluateLogBuilder {
    private readonly eol;
    private log;
    private indent;
    constructor(eol: string);
    resetIndent(): this;
    increaseIndent(): this;
    decreaseIndent(): this;
    newLine(text?: string): this;
    append(text: string): this;
    toString(): string;
    private appendUserConditionCore;
    private appendUserConditionString;
    private appendUserConditionStringList;
    private appendUserConditionNumber;
    appendUserCondition(condition: UserConditionUnion): this;
    appendPrerequisiteFlagCondition(condition: PrerequisiteFlagCondition, settings: Readonly<{
        [name: string]: Setting;
    }>): this;
    appendSegmentCondition(condition: SegmentCondition): this;
    appendConditionResult(result: boolean): this;
    appendConditionConsequence(result: boolean): this;
    private appendTargetingRuleThenPart;
    appendTargetingRuleConsequence(targetingRule: TargetingRule, isMatchOrError: boolean | string, newLine: boolean): this;
}
export declare function formatUserComparator(comparator: UserComparator): string;
export declare function formatUserCondition(condition: UserConditionUnion): string;
export declare function formatPrerequisiteFlagComparator(comparator: PrerequisiteFlagComparator): string;
export declare function formatSegmentComparator(comparator: SegmentComparator): string;
export declare function valueToString(value: NonNullable<SettingValue>): string;
//# sourceMappingURL=EvaluateLogBuilder.d.ts.map