import { _PdfAbstractSyntaxElement } from '../asn1/abstract-syntax';
import { _PdfUniqueEncodingElement } from '../asn1/unique-encoding-element';
/**
 * Represents a unique-encoding BIT STRING with optional padding information.
 *
 * @private
 */
export declare class _PdfUniqueBitString {
    /**
     * Bit-string raw data bytes (excluding the initial octet that encodes unused bits).
     *
     * @private
     * @type {Uint8Array}
     */
    readonly _data: Uint8Array;
    /**
     * Count of unused padding bits in the final data octet.
     *
     * @private
     * @type {number}
     */
    readonly _extraBits: number;
    /**
     * Hex character lookup table used for string conversions.
     *
     * @private
     * @type {string[]}
     */
    readonly _table: string[];
    constructor(data?: Uint8Array, pad?: number);
    /**
     * Create a `_PdfUniqueBitString` from ASN.1 BIT STRING octets.
     *
     * @private
     * @param {Uint8Array} bytes - Raw BIT STRING octets (first octet = unused bits).
     * @returns {_PdfUniqueBitString} Parsed unique bit string instance.
     */
    _fromAbstractSyntaxOctets(bytes: Uint8Array): _PdfUniqueBitString;
    /**
     * Return the raw payload bytes of the bit string (without the initial unused-bits octet).
     *
     * @private
     * @returns {Uint8Array} The raw data bytes.
     */
    _getBytes(): Uint8Array;
    /**
     * Produce the ASN.1 BIT STRING octets including the unused-bits header octet.
     *
     * @private
     * @returns {Uint8Array} The encoded bit string octets.
     */
    _getUniqueEncoded(): Uint8Array;
    /**
     * Determine equality with another `_PdfUniqueBitString` instance.
     *
     * @private
     * @param {any} other - Candidate object to compare.
     * @returns {boolean} True when both instances contain identical data and padding.
     */
    _equals(other: any): boolean;
    /**
     * Extract a `_PdfUniqueBitString` from an ASN.1 element tag, handling explicit/implicit forms.
     *
     * @private
     * @param {_PdfAbstractSyntaxElement} tag - ASN.1 element that may contain a bit string.
     * @param {boolean} isExplicit - True when the bit string is explicitly tagged.
     * @returns {_PdfUniqueBitString} The extracted unique bit string.
     */
    _getUniqueBitStringFromTag(tag: _PdfAbstractSyntaxElement, isExplicit: boolean): _PdfUniqueBitString;
    /**
     * Normalize or validate an input expected to be a `_PdfUniqueBitString`.
     *
     * @private
     * @param {any} obj - Candidate value.
     * @returns {_PdfUniqueBitString} The input if it is already a bit-string instance.
     */
    _getUniqueBitString(obj: any): _PdfUniqueBitString;
    /**
     * Create an ASN.1 abstract-syntax element representing this BIT STRING.
     *
     * @private
     * @returns {_PdfUniqueEncodingElement} ASN.1 element for the bit string.
     */
    _getAbstractSyntax(): _PdfUniqueEncodingElement;
}
