@syncfusion/ej2-pdf
Version:
Feature-rich JavaScript PDF library with built-in support for loading and manipulating PDF document.
1,054 lines (1,053 loc) • 33.2 kB
TypeScript
import { _ConstructionType, _TagClassType } from './enumerator';
import { _PdfObjectIdentifier } from './identifier-mapping';
/**
* Represents an abstract ASN.1 syntax element with utilities for encoding, decoding, validation and serialization.
*
* @private
*/
export declare abstract class _PdfAbstractSyntaxElement {
/**
* Internal recursion tracker used to prevent excessive recursion during parsing.
*
* @private
*/
_recursionCount: number;
/**
* Maximum allowed nesting depth to protect against overly deep ASN.1 structures.
*
* @private
*/
_nestingRecursionLimit: number;
/**
* Optional element name used for error messages and diagnostics.
*
* @private
*/
_name: string;
/**
* The ASN.1 tag class for the element (universal, application, context, or private).
*
* @private
*/
_tagClass: _TagClassType;
/**
* Indicates whether the element is primitive or constructed.
*
* @private
*/
_construction: _ConstructionType;
/**
* Internal storage for the element tag number.
*/
private _tagNumber;
/**
* Retrieves the raw encoded value bytes of this ASN.1 element.
*
* @returns {Uint8Array} The encoded value as a `Uint8Array`.
* @private
*/
abstract _getValue(): Uint8Array;
/**
* Sets the raw encoded value bytes for this ASN.1 element.
*
* @param {Uint8Array} The value bytes to assign.
* @returns {void} nothing.
* @private
*/
abstract _setValue(value: Uint8Array): void;
/**
* Retrieves the boolean interpretation of this element's value.
*
* @returns {boolean} The boolean value.
* @private
*/
abstract _getBooleanValue(): boolean;
/**
* Sets the boolean interpretation of this element's value.
*
* @param {boolean} The boolean to set.
* @returns {void} nothing.
* @private
*/
abstract _setBooleanValue(value: boolean): void;
/**
* Retrieves this element's bit string as a `Uint8ClampedArray`.
*
* @returns {Uint8ClampedArray} The bit string contents.
* @private
*/
abstract _getBitString(): Uint8ClampedArray;
/**
* Sets this element's bit string value.
*
* @param {Uint8ClampedArray} The bit string to assign.
* @returns {void} nothing.
* @private
*/
abstract _setBitString(value: Uint8ClampedArray): void;
/**
* Retrieves this element's octet string as a `Uint8Array`.
*
* @returns {Uint8Array} The octet string contents.
* @private
*/
abstract _getOctetString(): Uint8Array;
/**
* Sets this element's octet string value.
*
* @param {Uint8Array} The octet string to assign.
* @returns {void} nothing.
* @private
*/
abstract _setOctetString(value: Uint8Array): void;
/**
* Retrieves the object descriptor string for this element.
*
* @returns {string} The object descriptor.
* @private
*/
abstract _getObjectDescriptor(): string;
/**
* Sets the object descriptor string for this element.
*
* @param {string} The descriptor to assign.
* @returns {void} nothing.
* @private
*/
abstract _setObjectDescriptor(value: string): void;
/**
* Retrieves the UTF-8 string value for this element.
*
* @returns {string} The UTF-8 decoded string.
* @private
*/
abstract _getUtf8String(): string;
/**
* Sets the UTF-8 string value for this element.
*
* @param {string} The UTF-8 string to assign.
* @returns {void} nothing.
* @private
*/
abstract _setUtf8String(value: string): void;
/**
* Retrieves the child elements when this is a `SEQUENCE`.
*
* @returns {_PdfAbstractSyntaxElement[]} The sequence elements.
* @private
*/
abstract _getSequence(): _PdfAbstractSyntaxElement[];
/**
* Sets the child elements when this is a `SEQUENCE`.
*
* @param {_PdfAbstractSyntaxElement[]} The elements to assign.
* @returns {void} nothing.
* @private
*/
abstract _setSequence(value: _PdfAbstractSyntaxElement[]): void;
/**
* Retrieves the elements for an abstract `SET` value.
*
* @returns {_PdfAbstractSyntaxElement[]} The set elements.
* @private
*/
abstract _getAbstractSetValue(): _PdfAbstractSyntaxElement[];
/**
* Sets the elements for an abstract `SET` value.
*
* @param {_PdfAbstractSyntaxElement[]} The set elements to assign.
* @returns {void} nothing.
* @private
*/
abstract _setAbstractSetValue(value: _PdfAbstractSyntaxElement[]): void;
/**
* Retrieves the elements when this is a `SEQUENCE OF`.
*
* @returns {_PdfAbstractSyntaxElement[]} The sequence-of elements.
* @private
*/
abstract _getSequenceOf(): _PdfAbstractSyntaxElement[];
/**
* Sets the elements when this is a `SEQUENCE OF`.
*
* @param {_PdfAbstractSyntaxElement} value The elements to assign.
* @returns {void} nothing.
* @private
*/
abstract _setSequenceOf(value: _PdfAbstractSyntaxElement[]): void;
/**
* Retrieves the elements when this is a `SET OF`.
*
* @returns {_PdfAbstractSyntaxElement[]} The set-of elements.
* @private
*/
abstract _getAbstractSetOf(): _PdfAbstractSyntaxElement[];
/**
* Sets the elements when this is a `SET OF`.
*
* @param {_PdfAbstractSyntaxElement[]} The elements to assign.
* @returns {void} nothing.
* @private
*/
abstract _setAbstractSetOf(value: _PdfAbstractSyntaxElement[]): void;
/**
* Retrieves a numeric string value for this element.
*
* @returns {string} The numeric string.
* @private
*/
abstract _getNumericString(): string;
/**
* Sets a numeric string value for this element.
*
* @param {string} The numeric string to assign.
* @returns {void} nothing.
* @private
*/
abstract _setNumericString(value: string): void;
/**
* Retrieves a printable string value for this element.
*
* @returns {string} The printable string.
* @private
*/
abstract _getPrintableString(): string;
/**
* Sets a printable string value for this element.
*
* @param {string} The printable string to assign.
* @returns {void}
* @private
*/
abstract _setPrintableString(value: string): void;
/**
* Retrieves legacy teleprinter text bytes for this element.
*
* @returns {Uint8Array} The teleprinter text as bytes.
* @private
*/
abstract _getTeleprinterText(): Uint8Array;
/**
* Sets legacy teleprinter text bytes for this element.
*
* @param {Uint8Array} The bytes to assign.
* @returns {void} nothing.
* @private
*/
abstract _setTeleprinterText(value: Uint8Array): void;
/**
* Retrieves videotex information bytes for this element.
*
* @returns {Uint8Array} The videotex bytes.
* @private
*/
abstract _getVideoTextInformation(): Uint8Array;
/**
* Sets videotex information bytes for this element.
*
* @param {Uint8Array} The videotex bytes to assign.
* @returns {void} nothing.
* @private
*/
abstract _setVideoTextInformation(value: Uint8Array): void;
/**
* Retrieves an IA5 (international alphabet) string for this element.
*
* @returns {string} The IA5 string.
* @private
*/
abstract _getInternationalAlphabetString(): string;
/**
* Sets an IA5 string for this element.
*
* @param {string} The IA5 string to assign.
* @returns {void} nothing.
* @private
*/
abstract _setInternationalAlphabetString(value: string): void;
/**
* Retrieves a graphic string for this element.
*
* @returns {string} The graphic string.
* @private
*/
abstract _getGraphicString(): string;
/**
* Sets a graphic string for this element.
*
* @param {string} The graphic string to assign.
* @returns {void} Nothing.
* @private
*/
abstract _setGraphicString(value: string): void;
/**
* Retrieves a visible string for this element.
*
* @returns {string} The visible string.
* @private
*/
abstract _getVisibleString(): string;
/**
* Sets a visible string for this element.
*
* @param {string} The visible string to assign.
* @returns {void} Nothing.
* @private
*/
abstract _setVisibleString(value: string): void;
/**
* Retrieves a universal (UTF-32) string for this element.
*
* @returns {string} The universal string.
* @private
*/
abstract _getUniversalString(): string;
/**
* Sets a universal (UTF-32) string for this element.
*
* @param {string} The universal string to assign.
* @returns {void} nothing.
* @private
*/
abstract _setUniversalString(value: string): void;
/**
* Retrieves a BMP (16-bit) string for this element.
*
* @returns {string} The BMP string.
* @private
*/
abstract _getBmpString(): string;
/**
* Sets a BMP (16-bit) string for this element.
*
* @param {string} The BMP string to assign.
* @returns {void} Nothing.
* @private
*/
abstract _setBmpString(value: string): void;
/**
* Retrieves the inner contained element when present.
*
* @returns {_PdfAbstractSyntaxElement} The inner ASN.1 element.
* @private
*/
abstract _getInner(): _PdfAbstractSyntaxElement;
/**
* Retrieves component elements for constructed types.
*
* @returns {_PdfAbstractSyntaxElement[]} The component elements.
* @private
*/
abstract _getComponents(): _PdfAbstractSyntaxElement[];
/**
* Populates this element from the given bytes and returns the number of consumed bytes.
*
* @param {Uint8Array} The input bytes to parse.
* @returns {number} The number of bytes consumed during parsing.
* @private
*/
abstract _fromBytes(bytes: Uint8Array): number;
/**
* Constructs this element from the provided child elements.
*
* @param {_PdfAbstractSyntaxElement[]} The child elements to construct from.
* @returns {void} nothing.
* @private
*/
abstract _construct(els: _PdfAbstractSyntaxElement[]): void;
/**
* Produces the tag and length bytes for this element.
*
* @returns {Uint8Array} The tag-and-length bytes.
* @private
*/
abstract _tagAndLengthBytes(): Uint8Array;
/**
* Serializes this element into a sequence of buffers.
*
* @returns {Uint8Array} An array of `Uint8Array` buffers representing the element.
* @private
*/
abstract _toBuffers(): Uint8Array[];
/**
* Determines the length of the length-field for a given value length.
*
* @param {number} Optional value length to evaluate.
* @returns {number} The number of bytes used to encode the length.
* @private
*/
abstract _lengthLength(valueLength?: number): number;
/**
* Returns the length of the encoded value for this element.
*
* @returns {number} The value length in bytes.
* @private
*/
abstract _valueLength(): number;
/**
* Serializes this element using the given data type hint.
*
* @param {string} A hint describing the serialization format.
* @returns {Uint8Array} The serialized bytes.
* @private
*/
abstract _serialize(dataType: string): Uint8Array;
/**
* Returns the numeric tag number for this ASN.1 element.
*
* @returns {number} The tag number.
* @private
*/
_getTagNumber(): number;
/**
* Sets the numeric tag number for this ASN.1 element.
*
* @param {number} value non-negative tag number to assign.
* @returns {void} nothing.
* @private
*/
_setTagNumber(value: number): void;
/**
* Returns the length in bytes of this element's encoded value.
*
* @returns {number} The length of the encoded value.
* @private
*/
_getLength(): number;
/**
* Calculates how many bytes are needed to encode the tag for this element.
*
* @returns {number} The number of bytes used for the tag encoding.
* @private
*/
_tagLength(): number;
/**
* Concatenates this element's buffers into a single `Uint8Array`.
*
* @returns {Uint8Array} The serialized bytes for this element.
* @private
*/
_toBytes(): Uint8Array;
/**
* Validates that a size lies within the inclusive `[min, max]` bounds.
*
* @param {string} name human-readable name used in error messages.
* @param {string} units string used in error messages.
* @param {number} actualSize measured size.
* @param {number} min allowed size.
* @param {number} max allowed size.
* @returns {void} Nothing.
* @private
*/
_validateSize(name: string, units: string, actualSize: number, min: number, max?: number): void;
/**
* Validates that a numeric value lies within the inclusive `[min, max]` range.
*
* @param {string} name used in error messages.
* @param {bigint | number} actualValue to validate.
* @param {bigint} min allowed value.
* @param {bigint} [max] maximum allowed value.
* @returns {void}
* @private
*/
_validateRange(name: string, actualValue: bigint | number, min: bigint, max?: bigint): void;
/**
* Returns a bit string constrained to the given size bounds.
*
* @param {number} min allowed length in bits.
* @param {number} [max] maximum allowed length in bits.
* @returns {Uint8ClampedArray} The constrained bit string.
* @private
*/
_sizeConstrainedString(min: number, max?: number): Uint8ClampedArray;
/**
* Returns a UTF-8 string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained UTF-8 string.
* @private
*/
_sizeConstrainedUtf8String(min: number, max?: number): string;
/**
* Returns a `SEQUENCE OF` constrained by element count.
*
* @param {number} min allowed elements.
* @param {number} [max] maximum allowed elements.
* @returns {_PdfAbstractSyntaxElement} The constrained sequence-of elements.
* @private
*/
_sizeConstrainedSequenceOf(min: number, max?: number): _PdfAbstractSyntaxElement[];
/**
* Returns a `SET OF` constrained by element count.
*
* @param {number} min allowed elements.
* @param {number} [max] maximum allowed elements.
* @returns {_PdfAbstractSyntaxElement} The constrained set-of elements.
* @private
*/
_sizeConstrainedSetOf(min: number, max?: number): _PdfAbstractSyntaxElement[];
/**
* Returns a numeric string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained numeric string.
* @private
*/
_sizeConstrainedNumericString(min: number, max?: number): string;
/**
* Returns a printable ASCII string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained printable string.
* @private
*/
_sizeConstrainedPrintableString(min: number, max?: number): string;
/**
* Returns a legacy encoded text string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained text string bytes.
* @private
*/
_sizeConstrainedTextString(min: number, max?: number): Uint8Array;
/**
* Returns a videotex string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained videotex bytes.
* @private
*/
_sizeConstrainedVideoString(min: number, max?: number): Uint8Array;
/**
* Returns an IA5 (ASCII) string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained IA5 string.
* @private
*/
_sizeConstrainedIA5String(min: number, max?: number): string;
/**
* Returns a graphic string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained graphic string.
* @private
*/
_sizeConstrainedGraphicString(min: number, max?: number): string;
/**
* Returns a visible string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained visible string.
* @private
*/
_sizeConstrainedVisibleString(min: number, max?: number): string;
/**
* Returns a universal string constrained by character count.
*
* @param {number} min allowed characters.
* @param {number} [max] maximum allowed characters.
* @returns {string} The constrained universal string.
* @private
*/
_sizeConstrainedUniversalString(min: number, max?: number): string;
/**
* Returns an integer value constrained by the specified numeric range.
*
* @param {bigint} min allowed value.
* @param {bigint} [max] maximum allowed value.
* @returns {number} The constrained number.
* @private
*/
_rangeConstrainedNumber(min: bigint, max?: bigint): number;
/**
* Validates this element's tag against permitted classes, constructions and numbers.
*
* @param {_TagClassType} permittedClasses Allowed tag classes.
* @param {_ConstructionType} permittedConstruction Allowed construction types.
* @param {number[]} permittedNumbers Allowed tag numbers.
* @returns {number} if valid or a negative error code.
* @private
*/
_validateTag(permittedClasses: _TagClassType[], permittedConstruction: _ConstructionType[], permittedNumbers: number[]): number;
/**
* Returns this object as an ASN.1 element instance.
*
* @returns {_PdfAbstractSyntaxElement} This instance.
* @private
*/
_toElement(): _PdfAbstractSyntaxElement;
/**
* Copies tag and value information from another element into this one.
*
* @param {_PdfAbstractSyntaxElement} el The source element to copy from.
* @returns {void} Nothing.
* @private
*/
_fromElement(el: _PdfAbstractSyntaxElement): void;
/**
* Produces a human-readable string representation for this element.
*
* @returns {string} A string describing the element and its value.
* @private
*/
_toString(): string;
/**
* Converts this element to a JSON-serializable representation when possible.
*
* @returns {unknown} A JSON-friendly value or `undefined` if not representable.
* @private
*/
_toJson(): unknown;
/**
* Sorts elements into canonical order by their encoded bytes.
*
* @param {_PdfAbstractSyntaxElement[]} elements array of elements to sort.
* @returns {_PdfAbstractSyntaxElement[]} The sorted elements.
* @private
*/
_sortCanonically(elements: _PdfAbstractSyntaxElement[]): _PdfAbstractSyntaxElement[];
/**
* Determines whether the provided elements have unique (class, tag) pairs.
*
* @param {_PdfAbstractSyntaxElement} elements to examine.
* @returns {boolean} if all elements are uniquely tagged.
* @private
*/
_isUniquelyTagged(elements: _PdfAbstractSyntaxElement[]): boolean;
/**
* Decodes and returns this element's integer value.
*
* @returns {number} The decoded integer.
* @private
*/
_getInteger(): number;
/**
* Encodes and sets this element's integer value.
*
* @param {number} value integer to encode and assign.
* @returns {void} Nothing.
* @private
*/
_setInteger(value: number): void;
/**
* Decodes and returns this element's object identifier.
*
* @returns {_PdfObjectIdentifier} The decoded `_PdfObjectIdentifier`.
* @private
*/
_getObjectIdentifier(): _PdfObjectIdentifier;
/**
* Encodes and sets this element's object identifier.
*
* @param {_PdfObjectIdentifier} value The object identifier to assign.
* @returns {void} Nothing.
* @private
*/
_setObjectIdentifier(value: _PdfObjectIdentifier): void;
/**
* Returns this element's enumerated value as a number.
*
* @returns {number} The enumerated value.
* @private
*/
_getEnumerated(): number;
/**
* Sets this element's enumerated value.
*
* @param {number} value enumerated value to assign.
* @returns {void} Nothing.
* @private
*/
_setEnumerated(value: number): void;
/**
* Decodes and returns this element's relative object identifier as an array of arcs.
*
* @returns {number[]} The relative OID arcs.
* @private
*/
_getRelativeObjectIdentifier(): number[];
/**
* Encodes and sets this element's relative object identifier.
*
* @param {number[]} value array of arcs to assign.
* @returns {void} This returns void.
* @private
*/
_setRelativeObjectIdentifier(value: number[]): void;
/**
* Decodes and returns this element's time string.
*
* @returns {string} The decoded time string.
* @private
*/
_getTime(): string;
/**
* Encodes and sets this element's time string.
*
* @param {string} value time string to assign.
* @returns {void} This returns void.
* @private
*/
_setTime(value: string): void;
/**
* Decodes and returns this element's date.
*
* @returns {Date} The decoded `Date`.
* @private
*/
_getDate(): Date;
/**
* Encodes and sets this element's date.
*
* @param {Date} value `Date` to assign.
* @returns {void} This returns void.
* @private
*/
_setDate(value: Date): void;
/**
* Decodes and returns this element's time-of-day as a `Date`.
*
* @returns {Date} The decoded time-of-day.
* @private
*/
_getTimeOfDay(): Date;
/**
* Encodes and sets this element's time-of-day.
*
* @param {Date} value `Date` representing the time-of-day.
* @returns {void}
* @private
*/
_setTimeOfDay(value: Date): void;
/**
* Decodes and returns this element's date-time as a `Date`.
*
* @returns {Date} The decoded date-time.
* @private
*/
_getDateTime(): Date;
/**
* Encodes and sets this element's date-time.
*
* @param {Date} value `Date` to assign.
* @returns {void} This returns void.
* @private
*/
_setDateTime(value: Date): void;
/**
* Decodes and returns this element's object ID resource identifier.
*
* @returns {string} The decoded resource identifier string.
* @private
*/
_getObjectIdResourceIdentifier(): string;
/**
* Encodes and sets this element's object ID resource identifier.
*
* @param {string} value resource identifier string to assign.
* @returns {void} This returns void.
* @private
*/
_setObjectIdResourceIdentifier(value: string): void;
/**
* Decodes and returns this element's relative resource identifier.
*
* @returns {string} The decoded relative resource identifier.
* @private
*/
_getRelativeResourceIdentifier(): string;
/**
* Encodes and sets this element's relative resource identifier.
*
* @param {string} value relative resource identifier string to assign.
* @returns {void} this returns void.
* @private
*/
_setRelativeResourceIdentifier(value: string): void;
/**
* Encodes a JavaScript number into ASN.1 integer bytes.
*
* @param {number} value number to encode.
* @returns {Uint8Array} The encoded integer bytes.
* @private
*/
_encodeInteger(value: number): Uint8Array;
/**
* Decodes ASN.1 integer bytes into a JavaScript number.
*
* @param {Uint8Array} value integer bytes to decode.
* @returns {number} The decoded number.
* @private
*/
_decodeInteger(value: Uint8Array): number;
/**
* Encodes an object identifier into bytes.
*
* @param {_PdfObjectIdentifier} value `_PdfObjectIdentifier` to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeObjectIdentifier(value: _PdfObjectIdentifier): Uint8Array;
/**
* Decodes bytes into an `_PdfObjectIdentifier` instance.
*
* @param {Uint8Array} value bytes to decode.
* @returns {_PdfObjectIdentifier} The decoded `_PdfObjectIdentifier`.
* @private
*/
_decodeObjectIdentifier(value: Uint8Array): _PdfObjectIdentifier;
/**
* Encodes a relative object identifier into bytes.
*
* @param {number[]} value array of relative OID arcs.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeRelativeObjectIdentifier(value: number[]): Uint8Array;
/**
* Decodes bytes into a relative object identifier (array of arcs).
*
* @param {Uint8Array} value bytes to decode.
* @returns {number[]} The decoded arcs.
* @private
*/
_decodeRelativeObjectIdentifier(value: Uint8Array): number[];
/**
* Encodes a time string into bytes.
*
* @param {string} value time string to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeTime(value: string): Uint8Array;
/**
* Decodes time bytes into a string.
*
* @param {Uint8Array} bytes to decode.
* @returns {string} The decoded time string.
* @private
*/
_decodeTime(bytes: Uint8Array): string;
/**
* Encodes a `Date` into ASN.1 date bytes (YYYYMMDD).
*
* @param {Date} date to encode.
* @returns {Uint8Array} The encoded date bytes.
* @private
*/
_encodeDate(date: Date): Uint8Array;
/**
* Decodes ASN.1 date bytes (YYYYMMDD) into a `Date`.
*
* @param {Uint8Array} bytes to decode.
* @returns {Date} The decoded `Date`.
* @private
*/
_decodeDate(bytes: Uint8Array): Date;
/**
* Encodes a time-of-day `Date` into bytes (HHMMSS).
*
* @param {Date} time to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeTimeOfDay(time: Date): Uint8Array;
/**
* Decodes time-of-day bytes (HHMMSS) into a `Date`.
*
* @param {Uint8Array} bytes to decode.
* @returns {Date} The decoded `Date`.
* @private
*/
_decodeTimeOfDay(bytes: Uint8Array): Date;
/**
* Decodes ASN.1 date-time bytes into a `Date`.
*
* @param {Uint8Array} bytes to decode.
* @returns {Date} The decoded `Date`.
* @private
*/
_decodeDateTime(bytes: Uint8Array): Date;
/**
* Decodes a GENERAL STRING ensuring only general characters are present.
*
* @param {Uint8Array} value to decode.
* @returns {string} The decoded string.
* @private
*/
_decodeGeneralString(value: Uint8Array): string;
/**
* Decodes a GRAPHIC STRING ensuring allowed graphic characters.
*
* @param {Uint8Array} value bytes to decode.
* @returns {string} The decoded string.
* @private
*/
_decodeGraphicString(value: Uint8Array): string;
/**
* Decodes a NUMERIC STRING ensuring only numeric characters and spaces.
*
* @param {Uint8Array} value bytes to decode.
* @returns {string} The decoded string.
* @private
*/
_decodeNumericString(value: Uint8Array): string;
/**
* Decodes an OBJECT DESCRIPTOR ensuring only allowed characters.
*
* @param {Uint8Array} value bytes to decode.
* @returns {string} The decoded descriptor string.
* @private
*/
_decodeObjectDescriptor(value: Uint8Array): string;
/**
* Decodes an object-id resource identifier into a string.
*
* @param {Uint8Array} bytes to decode.
* @returns {string} The decoded string.
* @private
*/
_decodeObjectIdResourceIdentifier(bytes: Uint8Array): string;
/**
* Decodes a relative resource identifier into a string.
*
* @param {Uint8Array} bytes to decode.
* @returns {string} The decoded string.
* @private
*/
_decodeRelativeResourceIdentifier(bytes: Uint8Array): string;
/**
* Decodes a PRINTABLE STRING, validating allowed characters.
*
* @param {Uint8Array} value bytes to decode.
* @returns {string} The decoded string.
* @private
*/
_decodePrintableString(value: Uint8Array): string;
/**
* Decodes a VISIBLE STRING, validating allowed graphic characters.
*
* @param {Uint8Array} value bytes to decode.
* @returns {string} The decoded string.
* @private
*/
_decodeVisibleString(value: Uint8Array): string;
/**
* Encodes a bit string into ASN.1 BIT STRING bytes.
*
* @param {Uint8ClampedArray} value bit string to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeBitString(value: Uint8ClampedArray): Uint8Array;
/**
* Encodes a boolean into ASN.1 boolean bytes.
*
* @param {boolean} value boolean to encode.
* @returns {Uint8Array} The encoded byte array.
* @private
*/
_encodeBoolean(value: boolean): Uint8Array;
/**
* Encodes a `Date` into ASN.1 date-time bytes (YYYYMMDDHHMMSS).
*
* @param {Date} value The `Date` to encode.
* @returns {Uint8Array}The encoded bytes.
* @private
*/
_encodeDateTime(value: Date): Uint8Array;
/**
* Encodes an object-id resource identifier string into bytes.
*
* @param {string} value string to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeObjectIdResourceIdentifier(value: string): Uint8Array;
/**
* Encodes a relative resource identifier string into bytes.
*
* @param {string} value string to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeRelativeResourceIdentifier(value: string): Uint8Array;
/**
* Encodes a sequence of elements into a contiguous byte array.
*
* @param {_PdfAbstractSyntaxElement} value elements to encode.
* @returns {Uint8Array} The concatenated bytes.
* @private
*/
_encodeSequence(value: _PdfAbstractSyntaxElement[]): Uint8Array;
/**
* Encodes a numeric string into bytes.
*
* @param {string} value string to encode.
* @returns {Uint8Array}The encoded bytes.
* @private
*/
_encodeNumericString(value: string): Uint8Array;
/**
* Encodes a printable string into bytes.
*
* @param {string} value string to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodePrintableString(value: string): Uint8Array;
/**
* Encodes a graphic string into bytes.
*
* @param {string} value string to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeGraphicString(value: string): Uint8Array;
/**
* Encodes a visible string into bytes.
*
* @param {string} value to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeVisibleString(value: string): Uint8Array;
/**
* Encodes an object descriptor into bytes.
*
* @param {string} value string to encode.
* @returns {Uint8Array} The encoded bytes.
* @private
*/
_encodeObjectDescriptor(value: string): Uint8Array;
/**
* Returns the serialized bytes for this element (alias for `_toBytes`).
*
* @returns {Uint8Array} The serialized bytes.
* @private
*/
_toEncodedBytes(): Uint8Array;
/**
* Indicates whether this element is context-tagged.
*
* @returns {boolean} if context tagged.
* @private
*/
_isTagged(): boolean;
/**
* Indicates whether this element is constructed.
*
* @returns {boolean} if constructed.
* @private
*/
_isConstructed(): boolean;
}