///
///
import Transport from '@ledgerhq/hw-transport';
import { WalletPolicy } from '../policy';
export type SlashingParams = {
timelockBlocks: number;
finalityProviders: string[];
covenantThreshold: number;
covenantPks: string[];
slashingPkScriptHex: string;
slashingFeeSat: number;
};
export declare function slashingPathPolicy({ transport, params, derivationPath, isUnbonding }: {
transport: Transport;
params: SlashingParams;
derivationPath: string;
isUnbonding: boolean;
}): Promise;
export type StakingTxParams = {
timelockBlocks: number;
finalityProviders: string[];
covenantThreshold: number;
covenantPks: string[];
};
export declare function stakingTxPolicy({ transport, params, derivationPath }: {
transport: Transport;
params: StakingTxParams;
derivationPath: string;
}): Promise;
export type UnbondingParams = {
timelockBlocks: number;
finalityProviders: string[];
covenantThreshold: number;
covenantPks?: string[];
unbondingFeeSat: number;
};
export declare function unbondingPathPolicy({ transport, params, derivationPath, }: {
transport: Transport;
params: UnbondingParams;
derivationPath?: string;
displayLeafHash?: boolean;
}): Promise;
export type WithdrawParams = {
timelockBlocks: number;
};
export declare function withdrawPathPolicy({ transport, params, derivationPath, }: {
transport: Transport;
params: WithdrawParams;
derivationPath?: string;
displayLeafHash?: boolean;
isTestnet?: boolean;
}): Promise;
export type SignMessageParams = {
message: string;
pubkey: Buffer;
};
export declare function signMessagePathPolicy({ transport, params, derivationPath }: {
transport: Transport;
params: SignMessageParams;
derivationPath: string;
isTestnet?: boolean;
}): Promise;
export declare function expansionTxPolicy({ transport, params, derivationPath }: {
transport: Transport;
params: StakingTxParams;
derivationPath: string;
}): Promise;
export declare function getBbnVersion(transport: Transport): Promise;
export type vaultPayoutParams = {
depositorPubkey: string;
vaultProviderPubkey: string;
vaultKeepers: string[];
vaultKeepersThreshold: number;
ucPks: string[];
ucThreshold: number;
};
export declare function vaultPayoutPolicy({ transport, params, derivationPath, }: {
transport: Transport;
params: vaultPayoutParams;
derivationPath?: string;
displayLeafHash?: boolean;
}): Promise;
export type vaultPeginParams = {
depositorPubkey: string;
vaultProviderPubkey: string;
vaultKeepers: string[];
vaultKeepersThreshold: number;
ucPks: string[];
ucThreshold: number;
};
export declare function vaultPeginPolicy({ transport, params, derivationPath, }: {
transport: Transport;
params: vaultPeginParams;
derivationPath?: string;
displayLeafHash?: boolean;
}): Promise;