import { ParsingError } from '../errors/parsing_error';
import { SourceMapTypings, ParserTypings } from '../parser/types_parser';
export declare namespace Validation {
    interface I18nRenderObj {
        [key: string]: string | number | null;
    }
    type ErrorEntry = SourceMapTypings.Value & {
        parsingLineNumber: number;
    };
    type GetErrorTextFn<ReturnType = string | any> = (entry: ErrorEntry, i18nArgs?: I18nRenderObj) => ReturnType;
    type Cb = (parser: ParserTypings.Parser, errorBuilder: ValidationErrorBuilder) => void;
    interface ValidationOptions {
        loopValidators?: Validation.Cb[];
        getErrorText?: GetErrorTextFn;
        preValidators?: Validation.Cb[];
        postValidators?: Validation.Cb[];
    }
    interface ValidationErrorBuilder {
        parsingLineNumber: number;
        entry: SourceMapTypings.Value;
        getErrorText: Validation.GetErrorTextFn;
        create<Overrides extends Partial<ParserTypings.MetaArg>>(overrides?: Overrides, i18nArgs?: Validation.I18nRenderObj): ParsingError;
    }
}
//# sourceMappingURL=validation_types.d.ts.map