import { Entity } from "../api.mjs"; export declare const tags: readonly ["seq", "seqof", "set", "setof", "objid", "bool", "gentime", "utctime", "null_", "enum", "int", "objDesc", "bitstr", "bmpstr", "charstr", "genstr", "graphstr", "ia5str", "iso646str", "numstr", "octstr", "printstr", "t61str", "unistr", "utf8str", "videostr"]; export declare const methods: readonly ["key", "obj", "use", "optional", "explicit", "implicit", "def", "choice", "any", "contains", "seq", "seqof", "set", "setof", "objid", "bool", "gentime", "utctime", "null_", "enum", "int", "objDesc", "bitstr", "bmpstr", "charstr", "genstr", "graphstr", "ia5str", "iso646str", "numstr", "octstr", "printstr", "t61str", "unistr", "utf8str", "videostr"]; export declare const overrided: readonly ["_peekTag", "_decodeTag", "_use", "_decodeStr", "_decodeObjid", "_decodeTime", "_decodeNull", "_decodeInt", "_decodeBool", "_decodeList", "_encodeComposite", "_encodeStr", "_encodeObjid", "_encodeTime", "_encodeNull", "_encodeInt", "_encodeBool"]; export declare const stateProps: (keyof NodeState)[]; export interface NodeState { name?: string; enc: string; parent: Node | null; children: any[]; tag: any; args: any; reverseArgs: any; choice: any; optional: boolean; any: boolean; obj: boolean; use: any; useDecoder: any; key: any; default: any; explicit: any; implicit: any; contains: any; defaultBuffer: any; } export interface Node { seq(..._args: any): this; seqof(..._args: any): this; set(..._args: any): this; setof(..._args: any): this; objid(..._args: any): this; bool(..._args: any): this; gentime(..._args: any): this; utctime(..._args: any): this; null_(..._args: any): this; enum(..._args: any): this; int(..._args: any): this; objDesc(..._args: any): this; bitstr(..._args: any): this; bmpstr(..._args: any): this; charstr(..._args: any): this; genstr(..._args: any): this; graphstr(..._args: any): this; ia5str(..._args: any): this; iso646str(..._args: any): this; numstr(..._args: any): this; octstr(..._args: any): this; printstr(..._args: any): this; t61str(..._args: any): this; unistr(..._args: any): this; utf8str(..._args: any): this; videostr(..._args: any): this; } export declare abstract class Node { _baseState: NodeState; constructor(enc: string, parent?: Node | null, name?: string); abstract clone(): any; _wrap(): void; _init(body: Function): void; _useArgs(args: any[]): void; use(item: any): this; optional(): this; def(val: any): this; explicit(num: any): this; implicit(num: any): this; obj(...args: any): this; key(newKey: any): this; any(): this; choice(obj: any): this; contains(item: any): this; abstract _use(entity: Entity, obj: any): any; _getUse(entity: Entity, obj: any): any; _isNumstr(str: string): boolean; _isPrintstr(str: string): boolean; }