import { SubscriptionCallback , SubscriptionHandler , } from '@aragon/connect-types' ; import Vote from './models/Vote' ; import Cast from './models/Cast' ; export interface VoteData { id : string ; creator : string ; originalCreator : string ; metadata : string ; executed : boolean ; executedAt : string ; startDate : string ; snapshotBlock : string ; supportRequiredPct : string ; minAcceptQuorum : string ; yea : string ; nay : string ; votingPower : string ; script : string ; } export interface CastData { id : string ; vote : string ; voter : VoterData ; supports : boolean ; stake : string ; createdAt : string ; } export interface VoterData { id : string ; address : string ; } export interface IVotingConnector { disconnect ( ) : Promise < void > ; votesForApp ( appAddress , first , skip ) : Promise < Vote [ ] > ; onVotesForApp ( appAddress , first , skip , callback ) : SubscriptionHandler ; castsForVote ( vote , first , skip ) : Promise < Cast [ ] > ; onCastsForVote ( vote , first , skip , callback ) : SubscriptionHandler ; }