///
import { Entity } from "../api.cjs";
import { DecoderBuffer, DecoderError } from "../base/buffer.cjs";
import { Node } from "../base/node.cjs";
import { ReporterError } from "../base/reporter.cjs";
export declare class DERDecoder {
entity: Entity;
enc: string;
name: string;
tree: DERNode;
constructor(entity: Entity);
decode(data: any, options?: any): any;
}
export declare class DERNode extends Node {
constructor(parent?: Node);
_decode(input: DecoderBuffer, options: any): any;
_decodeChoice(input: DecoderBuffer, options: any): ReporterError | null;
_decodeGeneric(tag: string, input: DecoderBuffer, options?: any): any;
_peekTag(buffer: DecoderBuffer, tag: any, any?: any): any;
_decodeTag(buffer: DecoderBuffer, tag: any, any?: any): any;
_skipUntilEnd(buffer: DecoderBuffer, fail?: DecoderError): any;
_decodeList(buffer: DecoderBuffer, tag: string, decoder: Entity, options: any): any;
_decodeStr(buffer: DecoderBuffer, tag: string): string | number | ReporterError | Buffer | {
unused: number | ReporterError;
data: Buffer;
};
_decodeObjid(buffer: DecoderBuffer, values?: Record, relative?: boolean): any;
_decodeTime(buffer: DecoderBuffer, tag: string): number | ReporterError;
_decodeNull(): null;
_decodeBool(buffer: DecoderBuffer): number | boolean | ReporterError;
_decodeInt(buffer: DecoderBuffer, values: Record): bigint;
_use(entity: Entity, obj: any): any;
clone(): any;
}
export interface DERDecodeTag {
cls: any;
primitive: any;
tag: number;
tagStr: string;
}