type DistributionStatus = "draft" | "committed" | "clawed_back" | "hidden"; interface Distribution { id: string; orgId: string; projectId: string; mint: string; status: DistributionStatus; createdAt: string; updatedAt?: string; totalUnlocked?: string; totalLocked?: string; } interface ClaimAllocation { distributorId: string; claimant: string; amountUnlocked: string; amountLocked?: string; proof?: string[]; idx?: number; } interface ClaimTransactionInstruction { programId: string; keys: Array<{ pubkey: string; isSigner: boolean; isWritable: boolean; }>; data: string; } interface ClaimTransactionRequest { distributionId: string; claimant: string; index?: number; proof?: string[]; unlockedAmount?: number; lockedAmount?: number; mint?: string; distributorPda?: string; rpcEndpoint?: string; } interface ClaimTransactionResponse { label: string; instructions: ClaimTransactionInstruction[]; transaction?: string; } interface ClaimCommitRequest { distributionId: string; signature: string; } interface ClaimableDistribution { distributorId: string; distributorName?: string; tokenMint: string; tokenSymbol?: string; owedAmount: string; status: "claimable" | "vesting" | "locked"; fees?: { fixedFee?: string; solFee?: string; }; } interface ListDistributionsRequest { orgId?: string; status?: DistributionStatus; mint?: string; limit?: number; cursor?: string; } interface ListDistributionsResponse { items: Distribution[]; nextCursor: string | null; } interface CreateDistributionRequest { projectId: string; mint: string; title?: string; version?: number; recipients: Array<{ address: string; shareBps: number; }>; amountUi: number; rpcEndpoint?: string; } interface CreateDistributionResponse { distributorId: string; status: DistributionStatus; } interface CommitDistributionRequest { fundVaultSignature?: string; transaction?: string; signature?: string; exportJson?: unknown; [key: string]: unknown; } interface CommitDistributionResponse { distributorId: string; rootHex: string; vaultAta: string; onchainTxSignature: string; committedAt: string; } type BuildClaimTransactionRequest = ClaimTransactionRequest; type BuildClaimTransactionResponse = ClaimTransactionResponse; interface CommitClaimRequest { distributionId: string; signature?: string; transaction?: string; signedTransactionBase64?: string; claimantPubkey?: string; [key: string]: unknown; } interface CommitClaimResponse { ok: boolean; } interface ClaimableResponse { wallet: string; claimable: ClaimableDistribution[]; } interface ClaimHistoryItem { distributorId: string; signature: string; claimedAmount: string; claimedAt: string; } interface ClaimHistoryResponse { items: ClaimHistoryItem[]; nextCursor: string | null; } interface HealthResponse { status: string; timestamp: string; } export type { BuildClaimTransactionRequest as B, ClaimAllocation as C, DistributionStatus as D, HealthResponse as H, ListDistributionsRequest as L, Distribution as a, ClaimTransactionInstruction as b, ClaimTransactionRequest as c, ClaimTransactionResponse as d, ClaimCommitRequest as e, ClaimableDistribution as f, ListDistributionsResponse as g, CreateDistributionRequest as h, CreateDistributionResponse as i, CommitDistributionRequest as j, CommitDistributionResponse as k, BuildClaimTransactionResponse as l, CommitClaimRequest as m, CommitClaimResponse as n, ClaimableResponse as o, ClaimHistoryItem as p, ClaimHistoryResponse as q };