import { StringFormatType } from '../../utils/index';
import { ValidationContext, ValidatorBase } from '../index';
export declare const VALIDATOR_COMPARETO_METADATA_KEY: unique symbol;
export declare type CompareToValidatorStyle = 'equal' | 'greater' | 'lesser' | 'greatOrEqual' | 'lessOrEqual' | 'notEqual';
export declare function compareTo(style: CompareToValidatorStyle, anotherTarget: any, anotherPropertyName?: string, errorMessage?: StringFormatType): (target: Record<string, any>, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<any>) => void;
export declare class CompareToValidatorBase extends ValidatorBase {
    private style;
    private anotherTarget;
    private anotherPropertyName;
    constructor(name: string, style: CompareToValidatorStyle, anotherTarget: any, anotherPropertyName?: string, errorMessage?: StringFormatType);
    get Style(): CompareToValidatorStyle;
    private isMatched;
    validate(context: ValidationContext<any, any>): Promise<boolean>;
}
export declare class CompareToValidator extends CompareToValidatorBase {
    constructor(style: CompareToValidatorStyle, anotherTarget: any, anotherPropertyName?: string, errorMessage?: StringFormatType);
}
