import type { ErrorObject } from 'ajv'; export interface IOutputError { start: { line: number; column: number; offset: number }; // Optional for required end?: { line: number; column: number; offset: number }; error: string; suggestion?: string; } export interface IInputOptions { format?: 'cli' | 'js'; indent?: number | null; /** Raw JSON used when highlighting error location */ json?: string | null; } export default function <S, T, Options extends IInputOptions>( schema: S, data: T, errors: Array<ErrorObject>, options?: Options ): Options extends { format: 'js' } ? Array<IOutputError> : string;