import * as Ajv from 'ajv'; /** * Typescript Validator type */ export declare type Validator = (data: Partial) => Promise; /** * ValidatorFunction module definition */ export interface ValidatorFunction { /** * default export should be a function for validating * the (potentially incomplete) input and returning * it completely valid. * * @param obj Potentially incomplete object * * @returns The complete, validated object * * @throws AssertionError, Ajv.ErrorParameters */ default: Validator; } /** * Initialize an ajv instance */ export declare function init_ajv(): Ajv.Ajv; /** * Given a validator reference, resolve it into a function capable of doing a validation. * * @param validator Function, URL, or Module path to validation function * * @throws Ajv.ErrorParameters * @returns Validation function */ export declare function get_validator(validator: string | object | Validator): Promise; /** * Given data validate it. * * @param data Object being validated * @param validator (optional) validator for which to validate against (schema, function, etc..) * * @returns A promise to the complete object * @throws Ajv.ErrorParameters */ export declare function validate(data: Partial, validator: any): Promise;