import { MaybePromise } from '../util/promises'; import { FlagOutput, OutputFormat, VerboseOutput } from './Output'; export declare const defaultOutputFormat = "flag"; export declare const defaultFailFast = false; export declare const defaultAssertFormat = false; export declare const defaultDefaultMetaSchemaID: "https://json-schema.org/draft/2020-12/schema"; export type Retrieve = (uri: string) => any | Promise; export type ValidateOptions = { outputFormat?: OutputFormat; failFast?: boolean; assertFormat?: boolean; baseURI?: string; retrieve?: (uri: string) => any; defaultMetaSchemaID?: string; }; export type AsyncValidateOptions = Omit & { retrieve?: (uri: string) => Promise; }; export type JSONValidator = (instance: unknown) => FlagOutput | VerboseOutput; export declare function jsonValidator(schema: object | boolean, options?: Omit): JSONValidator; export declare function jsonValidator(schema: object | boolean, options?: AsyncValidateOptions): MaybePromise; export declare function jsonValidator(schema: object | boolean, options?: ValidateOptions): JSONValidator; export declare function jsonValidatorAsync(schema: object | boolean, options?: AsyncValidateOptions): Promise; export declare function validateJSON(instance: unknown, schema: object | boolean, options?: Omit): void; export declare function validateJSON(instance: unknown, schema: object | boolean, options?: AsyncValidateOptions): MaybePromise; export declare function validateJSON(instance: unknown, schema: object | boolean, options?: ValidateOptions): void; export declare function validateJSONAsync(instance: unknown, schema: object | boolean, options?: AsyncValidateOptions): Promise; export declare function isJSONValid(instance: unknown, schema: object | boolean, options?: Omit): boolean; export declare function isJSONValid(instance: unknown, schema: object | boolean, options?: Omit): MaybePromise; export declare function isJSONValid(instance: unknown, schema: object | boolean, options?: Omit): boolean; export declare function isJSONValidAsync(instance: unknown, schema: object | boolean, options?: Omit): Promise;