/**
 * BER (Basic Encoding Rules) encoding utilities
 */
/**
 * Encode a BER tag
 */
export declare function encodeTag(tagNumber: number, flags?: number): Uint8Array;
/**
 * Encode BER length (definite form)
 */
export declare function encodeLength(length: number): Uint8Array;
/**
 * Decode BER tag
 */
export declare function decodeTag(data: Uint8Array, offset?: number): {
    tag: number;
    length: number;
    constructed: boolean;
};
/**
 * Decode BER length
 */
export declare function decodeLength(data: Uint8Array, offset: number): {
    length: number;
    octets: number;
};
/**
 * Encode a signed integer in two's complement form
 */
export declare function encodeSignedInteger(value: number | bigint): Uint8Array;
/**
 * Decode a signed integer from two's complement form
 */
export declare function decodeSignedInteger(data: Uint8Array): bigint;
/**
 * Convert number to safe JavaScript number if possible, otherwise keep as bigint
 */
export declare function toSafeNumber(value: bigint): number | bigint;
//# sourceMappingURL=encoding.d.ts.map