import { CardanoTypes } from '../types'; import { GovernanceApi } from './api'; import { StakingKeyState } from './types'; import { App, Chain } from '@yoroi/types'; export type Config = { network: Chain.SupportedNetworks; walletId: string; cardano: CardanoTypes.Wasm; storage: App.Storage; api: GovernanceApi; }; export type VoteKind = 'abstain' | 'no-confidence'; export type GovernanceAction = { kind: 'delegate-to-drep'; hash: string; type: 'script' | 'key'; txID: string; } | { kind: 'vote'; vote: VoteKind; txID: string; }; export type GovernanceManager = { readonly network: Chain.Network; validateDRepID: (drepID: string) => Promise; createDelegationCertificate: (hash: string, type: 'script' | 'key', stakingKey: CardanoTypes.PublicKey) => Promise; createLedgerDelegationPayload: (hash: string, type: 'script' | 'key', stakingKey: CardanoTypes.PublicKey) => Promise; createVotingCertificate: (vote: VoteKind, stakingKey: CardanoTypes.PublicKey) => Promise; createLedgerVotingPayload: (vote: VoteKind, stakingKey: CardanoTypes.PublicKey) => Promise; createStakeRegistrationCertificate: (stakingKey: CardanoTypes.PublicKey) => Promise; setLatestGovernanceAction: (action: GovernanceAction | null) => Promise; getLatestGovernanceAction: () => Promise; getStakingKeyState: (stakeKeyHash: string) => Promise; convertHexKeyHashToBech32Format: (hexKeyHash: string) => Promise; }; export declare const governanceManagerMaker: (config: Config) => GovernanceManager; //# sourceMappingURL=manager.d.ts.map