import { type Attributable } from "./attr"; import { type ClassEntry, type Pool, type UTF8Entry } from "./pool"; export interface DirtyMarkable { dirty: boolean; } export interface Member extends Attributable { access: number; name: UTF8Entry; type: UTF8Entry; } export interface Node extends Attributable { magic: number; minor: number; major: number; pool: Pool; access: number; thisClass: ClassEntry; superClass?: ClassEntry; interfaces: ClassEntry[]; fields: Member[]; methods: Member[]; } export declare const FLAG_SKIP_ATTR: number; export declare const FLAG_SKIP_ATTR_PARSE: number; export declare const FLAG_SLICE_BUFFER: number; export declare const read: (buf: Uint8Array, flags?: number) => Node; export declare const write: (node: Node, initialSize?: number) => Uint8Array;