import { Validation, ObjectType, AndType } from './validationTypes.js'; declare type InputTypes = any | string | number | object | void | boolean | null; export declare type ValidationOutputs = ValidationOutput | ValidationOutput[]; export declare type ValidationOutput = { [key: string]: ValidationOutputs; } | null | { 'error': string; output?: ValidationOutputs; value: any; }; export declare type ValidationResult = { 'result': 'pass' | 'fail'; output: ValidationOutputs; }; export declare type ValidationFailed = { message: string; }; export declare const combineValidationObjects: (type: AndType, customTypes: any, onError: (input: any) => T) => { result: 'error'; error: T; } | { pass: ObjectType; result?: void | undefined; }; export declare const validate: (type: Validation, value: InputTypes) => ValidationResult; export declare const loadJson: (json: string | object) => Validation; export {};