import { IStringable, IEvaluable, IFormulableNode } from "./interfaces"; import { Mappings } from "./mappings"; import { Functionality, Population, TruthTable } from "./containers"; export declare class Individual implements IStringable { private _name; constructor(name: string); get name(): string; equals(obj: Individual): boolean; toString(): string; } export declare class Function implements IFormulableNode { private _name; private _cardinality; private _firstVariable; private _secondVariable; private _reflexive; constructor(name: string, cardinality: Cardinality, firstVariable?: string, secondVariable?: string, isReflexive?: boolean); get name(): string; get cardinality(): Cardinality; get firstVariable(): string; get secondVariable(): string; get isReflexive(): boolean; get variables(): string[]; equals(obj: Function): boolean; toString(): string; formulate(mappings: Mappings): IEvaluable; static build(input: string): Function; static validate(input: string): boolean; private validateName; private validateVariable; private setReflexiveBasedOnCardinality; } export declare enum Cardinality { None = 0, One = 1, Two = 2 } export declare class Sentence implements IStringable, IEvaluable { private _function; private _first; private _second; constructor(func: Function, first?: Individual, second?: Individual); get function(): Function; get first(): Individual; get second(): Individual; toString(): string; equals(obj: Sentence): boolean; evaluate(table: TruthTable): boolean; static validate(input: string): boolean; static buildStrict(input: string, population: Population, functionality: Functionality): Sentence; static build(functionName: string, firstIndividualName?: string, secondIndividualName?: string, reflexive?: boolean): Sentence; } //# sourceMappingURL=basis.d.ts.map