import type { Campaign } from '../campaigns/types' import type { Service } from '../services/types' import type { User } from '../users/types' export type CreditMovementType = 'in' | 'out' export type CreditMovementServiceType = | 'sms-wavy' | 'transcription' | 'summary' | 'magic-text' | 'copilot' | 'csat' | 'agent' export type CreditMovementOrigin = | 'trial' | 'single' | 'bulk' | 'chargeback' | 'renewal' | 'reset' | 'agnus' | 'marketplace' | 'copilot' | 'additional' | 'agent' export type CreditMovement = { id: string type: CreditMovementType amount: number | null serviceType: CreditMovementServiceType origin: CreditMovementOrigin | null accountId: string serviceId: string userId: string | null campaignId: string | null createdAt: string updatedAt: string // relationships service?: Service user?: User | null campaign?: Campaign | null } export type CreditMovementRelationships = 'service' | 'user' | 'campaign' export type CreateCreditMovementPayload = { type: CreditMovementType serviceType: CreditMovementServiceType serviceId: string amount?: number origin?: CreditMovementOrigin userId?: string campaignId?: string } export type UpdateCreditMovementPayload = { amount?: number }