declare module 'bun:ffi' { type FfiArgument = number | bigint | ArrayBufferView; type FfiReturn = Definition extends { readonly returns: 'ptr' } ? number : Definition extends { readonly returns: 'i64' } ? bigint : number; type FfiSymbols>> = { readonly [Name in keyof Definitions]: ( ...arguments_: FfiArgument[] ) => FfiReturn; }; export function dlopen>>( library: string, definitions: Definitions ): { readonly symbols: FfiSymbols; close(): void; }; export function ptr(value: ArrayBufferView): number; export function toArrayBuffer( pointer: number, byteOffset?: number, byteLength?: number ): ArrayBuffer; }