import { KInt, KNativePointer } from '@koalaui/interop';
import { Es2pandaAstNodeType } from '../../../generated/Es2pandaEnums';
import { AstNode } from '../peers/AstNode';
import { ArktsObject } from '../peers/ArktsObject';
export declare const arrayOfNullptr: BigUint64Array;
export declare const allFlags: number;
export declare function acceptNativeObjectArrayResult<T extends ArktsObject>(arrayObject: KNativePointer, factory: (instance: KNativePointer) => T): T[];
export declare function unpackNonNullableNode<T extends AstNode>(peer: KNativePointer, typeHint?: Es2pandaAstNodeType): T;
export declare function unpackNode<T extends AstNode>(peer: KNativePointer, typeHint?: Es2pandaAstNodeType): T | undefined;
export declare function passNode(node: ArktsObject | undefined): KNativePointer;
export declare function unpackNodeArray<T extends AstNode>(nodesPtr: KNativePointer, typeHint?: Es2pandaAstNodeType): T[];
export declare function unpackNativeObjectArray<T extends ArktsObject>(arrayObject: KNativePointer, factory: (instance: KNativePointer) => T): T[];
export declare function passNodeArray(nodes: readonly ArktsObject[] | undefined): BigUint64Array;
export declare function unpackString(peer: KNativePointer): string;
export declare function passString(str: string | undefined): string;
export declare function passStringArray(strings: readonly string[]): string[];
export declare function passNodeWithNewModifiers<T extends AstNode>(node: T, modifiers: KInt): T;
export declare function scriptFunctionHasBody(peer: KNativePointer): boolean;
export declare function updateNodeByNode<T extends ArktsObject>(node: T, original: T): T;
export declare function nodeType(node: AstNode): Es2pandaAstNodeType;
