import { Predicate } from "predicates/types"; export declare function createAnnotationFactory any>(annotationName: string, extraAttributesFactory?: T): AnnotationFactory, { name: string; } & ReturnType>; export interface AnnotationFactory { (...params: TParams): TAnnotation; predicate: (value: any) => boolean; andPredicate: (extraPredicate: Predicate) => Predicate; decorator: (...params: TParams) => ClassDecorator; }