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