import { DescExtension, DescField } from "./descriptor-set.js"; /** * Returns the zero value for a field. * * Returns either: * - empty array literal for repeated fields * - Object.create(null) for maps * - undefined for message fields * - an enums first value * - scalar zero value */ export declare function getFieldZeroValue(field: DescField | DescExtension): any; /** * Returns true for a zero-value (all fields are zero). * * In proto3, zero-values are not written to the wire, unless the field is * optional or repeated. */ export declare function isMessageZeroValue>(value: T | null | undefined, fields: (DescField | DescExtension)[]): boolean; /** * Compares if the value is considered a zero value for the field. */ export declare function compareFieldZeroValue(field: DescField | DescExtension, value: T | null | undefined): boolean;