import { providers } from 'ethers'; import BaseService from '../commons/BaseService'; import { EthereumTransactionTypeExtended } from '../commons/types'; import { IAaveGovernanceV2 } from './typechain/IAaveGovernanceV2'; import { GovGetProposalsType, GovGetProposalType, GovGetVotingAtBlockType, GovSubmitVoteType, GovGetTokensVotingPower as GovGetPower, GovGetVoteOnProposal, Proposal, Power, ProposalRPC, Vote, GovDelegateTokensByTypeBySig, GovDelegateTokensBySig } from './types'; export declare type Options = { blockTag?: string; }; export declare const humanizeProposal: (rawProposal: ProposalRPC) => Proposal; export interface AaveGovernanceInterface { submitVote: (args: GovSubmitVoteType) => EthereumTransactionTypeExtended[]; getProposal: (args: GovGetProposalType) => Promise; getProposals: (args: GovGetProposalsType) => Promise; getVotingPowerAt: (args: GovGetVotingAtBlockType) => Promise; getTokensPower: (args: GovGetPower) => Promise; getVoteOnProposal: (args: GovGetVoteOnProposal) => Promise; getProposalsCount: () => Promise; } declare type AaveGovernanceServiceConfig = { GOVERNANCE_ADDRESS: string; GOVERNANCE_HELPER_ADDRESS?: string; ipfsGateway?: string; }; export declare class AaveGovernanceService extends BaseService implements AaveGovernanceInterface { readonly aaveGovernanceV2Address: string; readonly aaveGovernanceV2HelperAddress: string; constructor(provider: providers.Provider, config: AaveGovernanceServiceConfig); submitVote({ user, proposalId, support }: GovSubmitVoteType): EthereumTransactionTypeExtended[]; getProposals({ skip, limit, }: GovGetProposalsType): Promise; getProposal({ proposalId }: GovGetProposalType): Promise; getVotingPowerAt({ user, block, strategy }: GovGetVotingAtBlockType): Promise; getTokensPower({ user, tokens }: GovGetPower, opts?: Options): Promise; getVoteOnProposal({ proposalId, user }: GovGetVoteOnProposal): Promise; getProposalsCount(): Promise; delegateTokensBySig({ user, tokens, data }: GovDelegateTokensBySig): Promise; delegateTokensByTypeBySig({ user, tokens, data }: GovDelegateTokensByTypeBySig): Promise; } export {}; //# sourceMappingURL=index.d.ts.map