///
///
/**
* Encodes staking transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*
* @param timelockBlocks - The number of blocks for the staking timelock (uint64).
* @param finalityProviders - An array of finality provider public keys (hex strings, each 32 bytes).
* @param covenantThreshold - The threshold value for the covenant (quorum).
* @param covenantPks - An array of covenant public keys (hex strings, each 32 bytes).
* @returns The encoded TLV Buffer representing the staking transaction policy.
* @throws {Error} If any public key is not 32 bytes in length.
*/
export declare function encodeStakingTxPolicyToTLV(bip32Path: string, timelockBlocks: number, finalityProviders: string[], covenantThreshold: number, covenantPks: string[]): Buffer;
/**
* Encodes slashing transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*
* @param finalityProviders - An array of finality provider public keys (hex strings, each 32 bytes).
* @param covenantThreshold - The threshold value for the covenant (quorum).
* @param covenantPks - An array of covenant public keys (hex strings, each 32 bytes).
* @param fee - The slashing fee limit (uint64).
* @returns The encoded TLV Buffer representing the slashing transaction policy.
* @throws {Error} If any public key is not 32 bytes in length.
*/
export declare function encodeSlashingTxPolicyToTLV(bip32Path: string, timelockBlocks: number, finalityProviders: string[], covenantThreshold: number, covenantPks: string[], slashingPkScriptHex: string, fee: number, isUnbonding?: boolean): Buffer;
/**
* Encodes slashing transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*
* @param finalityProviders - An array of finality provider public keys (hex strings, each 32 bytes).
* @param covenantThreshold - The threshold value for the covenant (quorum).
* @param covenantPks - An array of covenant public keys (hex strings, each 32 bytes).
* @param fee - The slashing fee limit (uint64).
* @returns The encoded TLV Buffer representing the slashing transaction policy.
* @throws {Error} If any public key is not 32 bytes in length.
*/
export declare function encodeUnbondPolicyToTLV(bip32Path: string, timelockBlocks: number, finalityProviders: string[], covenantThreshold: number, covenantPks: string[], fee: number): Buffer;
/**
* Encodes slashing transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*
* @param finalityProviders - An array of finality provider public keys (hex strings, each 32 bytes).
* @param covenantThreshold - The threshold value for the covenant (quorum).
* @param covenantPks - An array of covenant public keys (hex strings, each 32 bytes).
* @param fee - The slashing fee limit (uint64).
* @returns The encoded TLV Buffer representing the slashing transaction policy.
* @throws {Error} If any public key is not 32 bytes in length.
*/
export declare function encodeWithdrawPolicyToTLV(bip32Path: string, timelockBlocks: number): Buffer;
export declare function encodeSignMessagePolicyToTLV(bip32Path: string, message: Buffer, pubkey: Buffer): Buffer;
/**
* Encodes Expansion transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*
* @param timelockBlocks - The number of blocks for the staking timelock (uint64).
* @param finalityProviders - An array of finality provider public keys (hex strings, each 32 bytes).
* @param covenantThreshold - The threshold value for the covenant (quorum).
* @param covenantPks - An array of covenant public keys (hex strings, each 32 bytes).
* @returns The encoded TLV Buffer representing the staking transaction policy.
* @throws {Error} If any public key is not 32 bytes in length.
*/
export declare function encodeExpansionPolicyToTLV(bip32Path: string, timelockBlocks: number, finalityProviders: string[], covenantThreshold: number, covenantPks: string[]): Buffer;
/**
* Encodes GetVersion transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*/
export declare function encodeGetVersionTLV(): Buffer;
/**
* Encodes slashing transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*
* @param finalityProviders - An array of finality provider public keys (hex strings, each 32 bytes).
* @param covenantThreshold - The threshold value for the covenant (quorum).
* @param covenantPks - An array of covenant public keys (hex strings, each 32 bytes).
* @param fee - The slashing fee limit (uint64).
* @returns The encoded TLV Buffer representing the slashing transaction policy.
* @throws {Error} If any public key is not 32 bytes in length.
*/
export declare function encodeVaultPayoutPolicyToTLV(bip32Path: string, depositorPubkey: string, vaultProviderPubkey: string, vaultKeepers: string[], vaultKeepersThreshold: number, ucPks: string[], ucThreshold: number): Buffer;
/**
* Encodes Vault Peg-in transaction policy parameters into a TLV (Tag-Length-Value) formatted Buffer.
*
* @param bip32Path - The BIP32 derivation path.
* @param depositorPubkey - The depositor public key (hex string, 32 bytes).
* @param vaultProviderPubkey - The vault provider public key (hex string, 32 bytes).
* @param vaultKeepers - An array of vault keeper public keys (hex strings, each 32 bytes).
* @param vaultKeepersThreshold - The threshold value for the vault keepers (quorum).
* @param ucPks - An array of UC public keys (hex strings, each 32 bytes).
* @param ucThreshold - The threshold value for UC (quorum).
* @returns The encoded TLV Buffer representing the vault peg-in transaction policy.
* @throws {Error} If any public key is not 32 bytes in length.
*/
export declare function encodeVaultPeginPolicyToTLV(bip32Path: string, depositorPubkey: string, vaultProviderPubkey: string, vaultKeepers: string[], vaultKeepersThreshold: number, ucPks: string[], ucThreshold: number): Buffer;