import { Node } from './Node.js'; import { WrapperFactory } from './WrapperFactory.js'; export interface Wrapper> { node: N; readonly kind: string; wrap(node: N, ...args: any[]): W; } export interface WrapperClass> { new (factory: WrapperFactory>, node: N, ...args: any[]): W; } export declare class AbstractWrapper> implements Wrapper { node: N; protected factory: WrapperFactory>; get kind(): string; constructor(factory: WrapperFactory>, node: N); wrap(node: N): W; }