import { ValidationModelInterface, UncertainObject, AbstractValidator, ValidatorConfig } from "../AbstractValidator";
export interface InstantiatableValidationModelInterface extends ValidationModelInterface {
    new (): ValidationModelInterface;
}
export declare class ModelValidator<ModelI = UncertainObject> extends AbstractValidator<ModelI> {
    constructor(Model: ValidationModelInterface, defaults?: ModelI, config?: ValidatorConfig);
    readonly modelName: string;
    validate: (groups?: string[]) => Promise<void>;
    private instantiateModel;
}
