import { providers } from 'ethers'; import BaseService from '../commons/BaseService'; import { ENS, EthereumTransactionTypeExtended, tEthereumAddress } from '../commons/types'; import { IGovernancePowerDelegationToken } from './typechain/IGovernancePowerDelegationToken'; export declare type GovDelegate = { user: tEthereumAddress; delegatee: tEthereumAddress | ENS; governanceToken: tEthereumAddress; }; export declare type GovDelegateByType = { user: tEthereumAddress; delegatee: tEthereumAddress | ENS; delegationType: string; governanceToken: tEthereumAddress; }; export declare type GovDelegateBySig = { user: tEthereumAddress; delegatee: tEthereumAddress | ENS; expiry: string; signature: string; governanceToken: tEthereumAddress; }; export declare type GovDelegateByTypeBySig = { user: tEthereumAddress; delegatee: tEthereumAddress | ENS; delegationType: string; expiry: string; signature: string; governanceToken: tEthereumAddress; }; export declare type GovPrepareDelegateSig = { delegatee: tEthereumAddress | ENS; nonce: string; expiry: string; governanceTokenName: string; governanceToken: tEthereumAddress; }; export declare type GovPrepareDelegateSigByType = { delegatee: tEthereumAddress | ENS; type: string; nonce: string; expiry: string; governanceTokenName: string; governanceToken: tEthereumAddress; }; export declare type GovGetDelegateeByType = { delegator: tEthereumAddress; delegationType: string; governanceToken: tEthereumAddress; }; export declare type GovGetPowerCurrent = { user: tEthereumAddress; delegationType: string; governanceToken: tEthereumAddress; }; export declare type GovGetPowerAtBlock = { user: tEthereumAddress; blockNumber: string; delegationType: string; governanceToken: tEthereumAddress; }; export declare type GovGetNonce = { user: tEthereumAddress; governanceToken: tEthereumAddress; }; export interface GovernancePowerDelegationToken { delegate: (args: GovDelegate) => Promise; delegateByType: (args: GovDelegateByType) => Promise; delegateBySig: (args: GovDelegateBySig) => Promise; delegateByTypeBySig: (args: GovDelegateByTypeBySig) => Promise; prepareDelegateSignature: (args: GovPrepareDelegateSig) => Promise; prepareDelegateByTypeSignature: (args: GovPrepareDelegateSigByType) => Promise; getDelegateeByType: (args: GovGetDelegateeByType) => Promise; getPowerCurrent: (args: GovGetPowerCurrent) => Promise; getPowerAtBlock: (args: GovGetPowerAtBlock) => Promise; getNonce: (args: GovGetNonce) => Promise; } export declare class GovernancePowerDelegationTokenService extends BaseService implements GovernancePowerDelegationToken { constructor(provider: providers.Provider); delegate({ user, delegatee, governanceToken }: GovDelegate): Promise; delegateByType({ user, delegatee, delegationType, governanceToken }: GovDelegateByType): Promise; delegateBySig({ user, delegatee, expiry, signature, governanceToken }: GovDelegateBySig): Promise; delegateByTypeBySig({ user, delegatee, delegationType, expiry, signature, governanceToken, }: GovDelegateByTypeBySig): Promise; prepareDelegateSignature({ delegatee, nonce, expiry, governanceTokenName, governanceToken, }: GovPrepareDelegateSig): Promise; prepareDelegateByTypeSignature({ delegatee, type, nonce, expiry, governanceTokenName, governanceToken, }: GovPrepareDelegateSigByType): Promise; getDelegateeByType({ delegator, delegationType, governanceToken }: GovGetDelegateeByType): Promise; getPowerCurrent({ user, delegationType, governanceToken }: GovGetPowerCurrent): Promise; getPowerAtBlock({ user, blockNumber, delegationType, governanceToken }: GovGetPowerAtBlock): Promise; getNonce({ user, governanceToken }: GovGetNonce): Promise; private getDelegateeAddress; } //# sourceMappingURL=index.d.ts.map