import { Bytes } from "@scure/btc-signer/utils";
import { RelativeTimelock } from "./tapscript";
import { TapLeafScript, VtxoScript } from "./base";
export declare namespace VHTLC {
    interface Options {
        sender: Bytes;
        receiver: Bytes;
        server: Bytes;
        preimageHash: Bytes;
        refundLocktime: bigint;
        unilateralClaimDelay: RelativeTimelock;
        unilateralRefundDelay: RelativeTimelock;
        unilateralRefundWithoutReceiverDelay: RelativeTimelock;
    }
    class Script extends VtxoScript {
        readonly options: Options;
        readonly claimScript: string;
        readonly refundScript: string;
        readonly refundWithoutReceiverScript: string;
        readonly unilateralClaimScript: string;
        readonly unilateralRefundScript: string;
        readonly unilateralRefundWithoutReceiverScript: string;
        constructor(options: Options);
        claim(): TapLeafScript;
        refund(): TapLeafScript;
        refundWithoutReceiver(): TapLeafScript;
        unilateralClaim(): TapLeafScript;
        unilateralRefund(): TapLeafScript;
        unilateralRefundWithoutReceiver(): TapLeafScript;
    }
}
