import { type BinaryView, Frag, type Read, type Write } from "@ot-builder/bin-util";
import type { Data } from "@ot-builder/prelude";
export declare function NullablePtr16<TR, AR extends unknown[], TW, AW extends unknown[]>(r: Read<TR, AR> & Write<TW, AW>): Read<undefined | null | TR, AR> & Write<undefined | null | TW, AW>;
export declare function NonNullablePtr16<TR, AR extends unknown[], TW, AW extends unknown[]>(r: Read<TR, AR> & Write<TW, AW>): Read<TR, AR> & Write<TW, AW>;
export declare function NullablePtr32<TR, AR extends unknown[], TW, AW extends unknown[]>(r: Read<TR, AR> & Write<TW, AW>): Read<undefined | null | TR, AR> & Write<undefined | null | TW, AW>;
export declare function NonNullablePtr32<TR, AR extends unknown[], TW, AW extends unknown[]>(r: Read<TR, AR> & Write<TW, AW>): Read<TR, AR> & Write<TW, AW>;
export declare const Ptr16: {
    read: (p: BinaryView) => BinaryView;
    write(frag: Frag, f: Data.Maybe<Frag>): void;
};
//# sourceMappingURL=ptr.d.ts.map