import type { ParseDataType, ReWrap } from "../data-types/type-utils";
import type { AnyType } from "../data-types/type-types";
import { ValidationError } from "./validation-error/validation-error";
type ValidationResults<T> = {
    success: false;
    error: ValidationError;
} | {
    success: true;
    value: T;
};
export declare function validator<DT extends AnyType>(dataType: DT): (data: unknown) => data is ReWrap<ParseDataType<DT>>;
export declare function validator<DT extends AnyType>(dataType: DT, options: {
    details: true;
}): (data: unknown) => ValidationResults<ReWrap<ParseDataType<DT>>>;
export {};
