import Validator from "@dikac/t-validator/validator"; import Validatable from "@dikac/t-validatable/validatable"; import { O } from "ts-toolbelt"; import RecordValue from "./record-value"; export default class RecordValueCallbackParameters = Record, ValidatorType extends Validator> = Validator>, Result extends Partial> = Partial>, ValidatableType extends Validatable = Validatable> implements RecordValue { #private; readonly value: ValueType; readonly validator: ValidatorType; readonly map: (value: ValueType, validator: ValidatorType) => Result; readonly validation: (result: Result) => ValidatableType; readonly validatable: ValidatableType; readonly validatables: Result; constructor(value: ValueType, validator: ValidatorType, map: (value: ValueType, validator: ValidatorType) => Result, validation: (result: Result) => ValidatableType, message: (result: Result) => MessageType); get messages(): Result; get valid(): boolean; get message(): MessageType; }