import type { Formula } from '../types/formula';
import type { Valuation } from '../types/formula';
export declare class Evaluator {
    /**
     * Generate all possible valuations for a set of atomic propositions
     */
    private generateValuations;
    /**
     * Check if a formula is a tautology (true under all valuations)
     */
    isTautology(formula: Formula): boolean;
    /**
     * Check if a formula is a contradiction (false under all valuations)
     */
    isContradiction(formula: Formula): boolean;
    /**
     * Check if a formula is contingent (neither a tautology nor a contradiction)
     */
    isContingent(formula: Formula): boolean;
    /**
     * Check if two formulas are logically equivalent
     */
    areEquivalent(formula1: Formula, formula2: Formula): boolean;
    /**
     * Find all valuations that make the formula true
     */
    findSatisfyingValuations(formula: Formula): Valuation[];
    /**
     * Check if formula1 logically entails formula2
     */
    isValidConsequence(premise: Formula, conclusion: Formula): boolean;
}
//# sourceMappingURL=index.d.ts.map