import type { Cond2, Nullable, OneOrMoreReadonlyArray } from '../../utils/type'; export declare function validateNumberField(value: Nullable, exists: boolean, opts: { fieldName: string; dataName: string; }): number; export declare function validateBytesField(value: Uint8Array, exists: boolean, opts: { fieldName: string; dataName: string; failZero?: false | undefined; }): Uint8Array; export declare function validateNumberFieldInRange(value: T, { min, max }: Record<'min' | 'max', number | bigint>, opts: { fieldName: string; dataName: string; }): T; export declare function validateNumberOptionInRange(value: T, { min, max }: Record<'min' | 'max', number | bigint>, opts: { paramName: string; }): T; export declare function createEnum2value(): ((enumRecord: Record) => (( /** * Type checking asserts that all enum combinations are specified * @see https://stackoverflow.com/a/60132060/4907315 */ pair: OneOrMoreReadonlyArray & Cond2<{ cond1: { actual: TEnum2; expected: TEnum; onlyMatch: 'Invalid: All value types must be specified'; }; cond2: { actual: TValue2; expected: TValue; onlyMatch: 'Invalid: All Enum type values must be specified'; }; allMatch: unknown; notAllMatch: 'Invalid: All Enum type values and all value types must be specified'; }>) => { enum2value: (enumItem: Nullable, exists: boolean, opts: { fieldName: string; dataName: string; }) => TValue2; value2enum: (value: TValue2) => TEnum2; }));