/// <reference types="node" />
import { LongValue } from './long';
import Long from 'long';
export declare const RECEIPT_VERSION = 1;
export interface ReceiptOpts {
    nonce: Buffer;
    streamId: LongValue;
    totalReceived: LongValue;
    secret: Buffer;
}
export interface Receipt {
    version: number;
    nonce: Buffer;
    streamId: string;
    totalReceived: Long;
}
export interface ReceiptWithHMAC extends Receipt {
    hmac: Buffer;
}
export declare function createReceipt(opts: ReceiptOpts): Buffer;
export declare function decodeReceipt(receipt: Buffer): Receipt;
export declare function verifyReceipt(receipt: Buffer, secret: Buffer | ((decoded: ReceiptWithHMAC) => Buffer)): Receipt;
