import { Program, AnchorProvider, BN } from "@project-serum/anchor"; import { ShdwDrive } from "@shadow-drive/sdk"; import { PublicKey } from "@solana/web3.js"; import { AlignGovernance } from "./idls/align_governance"; import { Identifiers } from "./idls/identifiers"; import { Leaf } from "./idls/leaf"; import { Multigraph } from "./idls/multigraph"; import { Profiles } from "./idls/profiles"; export declare enum EdgeRelation { Asymmetric = 0, Symmetric = 1 } export declare enum ConnectionType { SocialRelation = 0, Interaction = 1 } export interface AlignPrograms { alignGovernanceProgram: Program; identifiersProgram: Program; multigraphProgram: Program; profilesProgram: Program; leafProgram: Program; provider?: AnchorProvider; shadowDriveInstance: ShdwDrive; } export interface NativeTreasuryAccount { organisation: PublicKey; votingProposalCount: number; totalProposals: BN; councilThreshold: number; bump: number; } export interface Organisation { identifier: PublicKey; collectionMint: PublicKey; subOrganisationCount: number; rankingTime: BN; bump: number; } export interface Profile { displayName: string; pfp: PublicKey; } export interface User { identifier: PublicKey; profile: Profile; username: String; bump: number; } export interface OwnerRecord { identifier: PublicKey; isDelegate: boolean; isVerified: boolean; account: PublicKey; keyAccountOwner: PublicKey; reserved: number[]; bump: number; } export interface ContributionRecord { idenitfier: PublicKey; organisation: PublicKey; proposal: PublicKey; isClaimed: boolean; upVoteCount: BN; downVoteCount: BN; bump: number; } export interface Identity { identifier: PublicKey; owner: PublicKey; isInRecovery: boolean; recoveryKey: PublicKey | null; recoveryCount: number; reserved: number[]; did: string | null; bump: number; } export interface ContributionReputation { proposalVotes: number; servicedProposals: number; aggregatedProposalOutcomes: BN; proposalsCreated: number; weight: number; } export interface CapitalReputation { amount: number; weight: number; } export interface ReputationManager { identifier: PublicKey; organisation: PublicKey; capitalReputation: CapitalReputation; contributionReputation: ContributionReputation; reputation: BN; snapshotAt: BN; snapshotPoints: BN; bump: number; } export declare enum CouncilVote { Yes = 0, No = 1, Abstain = 2 } export interface AnchorCouncilVote { yes?: {}; no?: {}; abstain?: {}; } export declare enum SubOrganisationType { ProposalModeration = 0, Product = 1, Engineering = 2, Operations = 3, CustomerSupport = 4, Marketing = 5, Growth = 6, Finance = 7, Security = 8, Recruiting = 9, Tokenomics = 10, Other = 11 } export interface AnchorSubOrganisationType { proposalModeration?: {}; product?: {}; engineering?: {}; operations?: {}; customerSupport?: {}; marketing?: {}; growth?: {}; finance?: {}; security?: {}; recruiting?: {}; tokenomics?: {}; other?: {}; } export declare enum ProposalState { Draft = 0, Ranking = 1, Voting = 2, Servicing = 3, Reviewing = 4, Reviewed = 5, Complete = 6, Denied = 7 } export interface AnchorProposalState { draft?: {}; ranking?: {}; voting?: {}; servicing?: {}; reviewing?: {}; reviewed?: {}; complete?: {}; denied?: {}; } export interface Proposal { state: AnchorProposalState; organisation: PublicKey; subOrgType: AnchorSubOrganisationType | null; proposer: PublicKey; governance: PublicKey; rankingAt: BN | null; votingAt: BN | null; deniedAt: BN | null; approvedAt: BN | null; draftAt: BN; servicer: PublicKey | null; id: BN; shadowDrive: PublicKey; councilReviewRating: number | null; totalCouncilYesVotes: number; totalCouncilNoVotes: number; totalCouncilAbstainVotes: number; upvotes: BN; rankingPeroid: BN; downvotes: BN; bump: number; } export declare enum RankVoteType { Upvote = 0, Downvote = 1 } export interface AnchorRankVoteType { upvote?: {}; downvote?: {}; } export interface Account { address: PublicKey; account: T; } export interface AnchorCouncilManagerState { electing?: {}; elected?: {}; } export interface CouncilManager { state: AnchorCouncilManagerState; organisation: PublicKey; governance: PublicKey; councilIdentifiers: PublicKey[]; councilCount: number; isInElection: boolean; electionManager: PublicKey; electedAt: BN | null; bump: number; } export interface CouncilVoteRecord { organisation: PublicKey; proposal: PublicKey; vote: AnchorCouncilVote; bump: number; } export interface ProposalData { name: string; description: string; } //# sourceMappingURL=types.d.ts.map