import { DescribedPredicate } from '../base/DescribedPredicate';
import { HasDescription } from '../base/HasDescription';
import { TypeScriptClass } from '../core/domain/TypeScriptClass';
import { PredicateAggregator } from './synthax/PredicateAggregator';
export declare class ClassesTransformer implements HasDescription {
    private readonly description;
    private readonly predicateAggregator;
    constructor(description: string, predicateAggregator: PredicateAggregator<TypeScriptClass>);
    addPredicate(predicate: DescribedPredicate<TypeScriptClass>): ClassesTransformer;
    switchModeAnd(): ClassesTransformer;
    switchModeOr(): ClassesTransformer;
    transform(classes: TypeScriptClass[]): TypeScriptClass[];
    getDescription(): string;
    getFullDescription(): string;
}
