import { SubscriptionCallback , SubscriptionHandler , } from '@aragon/connect-types' ; import Signer from './models/Signer' ; import Signature from './models/Signature' ; import Version from './models/Version' ; import DisputableApp from './models/DisputableApp' ; import CollateralRequirement from './models/CollateralRequirement' ; import Action from './models/Action' ; import Staking from './models/Staking' ; import StakingMovement from './models/StakingMovement' ; import ERC20 from './models/ERC20' ; export interface AgreementData { id : string ; dao : string ; stakingFactory : string ; currentVersionId : string ; } export interface VersionData { id : string ; versionId : string ; content : string ; title : string ; arbitrator : string ; appFeesCashier : string ; effectiveFrom : string ; } export interface DisputableAppData { id : string ; address : string ; agreementId : string ; activated : boolean ; currentCollateralRequirementId : string ; } export interface CollateralRequirementData { id : string ; disputableAppId : string ; tokenId : string ; tokenSymbol : string ; tokenDecimals : string ; actionAmount : string ; challengeAmount : string ; challengeDuration : string ; } export interface ERC20Data { id : string ; name : string ; symbol : string ; decimals : string ; } export interface SignerData { id : string ; address : string ; agreementId : string ; } export interface SignatureData { id : string ; signerId : string ; versionId : string ; createdAt : string ; } export interface ActionData { id : string ; agreementId : string ; disputableId : string ; disputableActionId : string ; collateralRequirementId : string ; versionId : string ; context : string ; createdAt : string ; } export interface StakingData { id : string ; user : string ; tokenId : string ; tokenSymbol : string ; tokenDecimals : string ; available : string ; locked : string ; challenged : string ; total : string ; } export interface StakingMovementData { id : string ; tokenId : string ; tokenSymbol : string ; tokenDecimals : string ; stakingId : string ; agreementId : string ; amount : string ; actionId : string ; disputableAddress : string ; disputableActionId : string ; actionState : string ; collateralState : string ; createdAt : string ; } export interface IAgreementConnector { disconnect ( ) : Promise < void > ; agreement ( agreement ) : Promise < AgreementData > ; onAgreement ( agreement , callback ) : SubscriptionHandler ; currentVersion ( agreement ) : Promise < Version > ; onCurrentVersion ( agreement , callback ) : SubscriptionHandler ; version ( versionId ) : Promise < Version > ; onVersion ( versionId , callback ) : SubscriptionHandler ; versions ( agreement , first , skip ) : Promise < Version [ ] > ; onVersions ( agreement , first , skip , callback ) : SubscriptionHandler ; disputableApps ( agreement , first , skip ) : Promise < DisputableApp [ ] > ; onDisputableApps ( agreement , first , skip , callback ) : SubscriptionHandler ; signer ( signerId ) : Promise < Signer | null > ; onSigner ( signerId , callback ) : SubscriptionHandler ; signatures ( signerId , first , skip ) : Promise < Signature [ ] > ; onSignatures ( signerId , first , skip , callback ) : SubscriptionHandler ; collateralRequirement ( collateralRequirementId ) : Promise < CollateralRequirement > ; onCollateralRequirement ( collateralRequirementId , callback ) : SubscriptionHandler ; action ( actionId ) : Promise < Action | null > ; onAction ( actionId , callback ) : SubscriptionHandler ; staking ( stakingId ) : Promise < Staking | null > ; onStaking ( stakingId , callback ) : SubscriptionHandler ; stakingMovements ( stakingId , agreement , first , skip ) : Promise < StakingMovement [ ] > ; onStakingMovements ( stakingId , agreement , first , skip , callback ) : SubscriptionHandler ; ERC20 ( tokenAddress ) : Promise < ERC20 > ; onERC20 ( tokenAddress , callback ) : SubscriptionHandler ; }