export default class AbstractSpecification {
    public and(other: AbstractSpecification): AndSpecification;
    public or(other: AbstractSpecification): OrSpecification;
    public xor(other: AbstractSpecification): XorSpecification;
    public not(other: AbstractSpecification): NotSpecification;
    public isSatisfiedBy(candidate: any): boolean;
}
export class AndSpecification extends AbstractSpecification {
    constructor(specificationA: AbstractSpecification, specificationB: AbstractSpecification);
    _specificationA: AbstractSpecification;
    _specificationB: AbstractSpecification;
}
export class OrSpecification extends AbstractSpecification {
    constructor(specificationA: any, specificationB: any);
    _specificationA: any;
    _specificationB: any;
}
export class XorSpecification extends AbstractSpecification {
    constructor(specificationA: any, specificationB: any);
    _specificationA: any;
    _specificationB: any;
}
export class NotSpecification extends AbstractSpecification {
    constructor(specification: any);
    _specification: any;
}
export class TrueSpecification extends AbstractSpecification {
    isSatisfiedBy(candidate: any): boolean;
}
export class FalseSpecification extends AbstractSpecification {
    isSatisfiedBy(candidate: any): boolean;
}
