import { BaseHelperInterface } from './baseHelper'; import { Schema } from 'joi'; export interface JoiRule { name: string; method: string; args: { limit?: number; [key: string]: unknown; }; _resolve?: unknown[]; operator?: string; [key: string]: unknown; } export type JoiSchema = Partial & { _valids?: { _values?: Set; [key: string]: unknown; }; _singleRules?: Map; _rules?: JoiRule[]; }; /** * Types: * 'alternatives', 'any', 'array', 'boolean', 'date', 'function', 'link', 'number', 'object', 'string', 'symbol', 'binary' */ export declare class JoiHelper implements BaseHelperInterface { protected _joi: JoiSchema; protected isRoot: boolean; constructor({ isRoot, value }: { isRoot?: boolean; value?: JoiSchema | unknown; }); protected isJoi(): boolean; protected hasMeta(v: string): boolean; protected getMeta(v: string): unknown; isValid(): boolean; getType(): string; getDescription(): string; isRequired(): boolean; isUnique(): boolean; hasDefaultValue(): boolean; getDefaultValue(): unknown; hasExampleValue(): boolean; getExampleValue(): unknown; isDeprecated(): boolean; allowsEmptyValue(): boolean; getEnum(): unknown[]; hasMin(): boolean; hasMax(): boolean; getMin(): number | undefined; getMax(): number | undefined; getUnit(): string; }