declare module 'puerts' { interface $Ref { __doNoAccess: T } interface $InRef { __doNoAccess: T } type $Nullable = T | null; type cstring = string | ArrayBuffer; export function $ref(x? : T) : $Ref; export function $unref(x: $Ref | $InRef) : T; export function $set(x: $Ref | $InRef, val:T) : void; export function load(dllpath): T; export function declaration(): string; }