import { DayInterval } from "../../utils/dates.js"; import * as yup from "yup"; import { InferType } from "yup"; //#region src/interface/crud/transactions.d.ts declare const transactionEntrySchema: yup.MixedSchema<{ type: "money_transfer"; customer_id: string; customer_type: "user" | "team" | "custom"; charged_amount: { USD?: string | undefined; EUR?: string | undefined; GBP?: string | undefined; JPY?: string | undefined; INR?: string | undefined; AUD?: string | undefined; CAD?: string | undefined; }; net_amount: { USD: string; }; adjusted_transaction_id: string | null; adjusted_entry_index: number | null; } | { type: "item_quantity_change"; item_id: string; customer_id: string; quantity: number; customer_type: "user" | "team" | "custom"; adjusted_transaction_id: string | null; adjusted_entry_index: number | null; } | { one_time_purchase_id?: string | undefined; subscription_id?: string | undefined; type: "product_grant"; customer_id: string; product_id: string | null; quantity: number; customer_type: "user" | "team" | "custom"; product: { client_metadata?: {} | null | undefined; client_read_only_metadata?: {} | null | undefined; server_metadata?: {} | null | undefined; free_trial?: DayInterval | undefined; display_name: string; server_only: boolean; customer_type: "user" | "team" | "custom"; stackable: boolean; prices: Record; included_items: Record; }; adjusted_transaction_id: string | null; adjusted_entry_index: number | null; price_id: string | null; } | { type: "product_revocation"; quantity: number; adjusted_transaction_id: string; adjusted_entry_index: number; } | { type: "product_revocation_reversal"; quantity: number; adjusted_transaction_id: string; adjusted_entry_index: number; }, yup.AnyObject, undefined, "">; type TransactionEntry = InferType; declare const TRANSACTION_TYPES: readonly ["purchase", "subscription-cancellation", "subscription-renewal", "manual-item-quantity-change", "chargeback", "product-change"]; type TransactionType = (typeof TRANSACTION_TYPES)[number]; declare const transactionSchema: yup.ObjectSchema<{ id: string; created_at_millis: number; effective_at_millis: number; type: "purchase" | "subscription-cancellation" | "subscription-renewal" | "manual-item-quantity-change" | "chargeback" | "product-change" | null; entries: ({ type: "money_transfer"; customer_id: string; customer_type: "user" | "team" | "custom"; charged_amount: { USD?: string | undefined; EUR?: string | undefined; GBP?: string | undefined; JPY?: string | undefined; INR?: string | undefined; AUD?: string | undefined; CAD?: string | undefined; }; net_amount: { USD: string; }; adjusted_transaction_id: string | null; adjusted_entry_index: number | null; } | { type: "item_quantity_change"; item_id: string; customer_id: string; quantity: number; customer_type: "user" | "team" | "custom"; adjusted_transaction_id: string | null; adjusted_entry_index: number | null; } | { one_time_purchase_id?: string | undefined; subscription_id?: string | undefined; type: "product_grant"; customer_id: string; product_id: string | null; quantity: number; customer_type: "user" | "team" | "custom"; product: { client_metadata?: {} | null | undefined; client_read_only_metadata?: {} | null | undefined; server_metadata?: {} | null | undefined; free_trial?: DayInterval | undefined; display_name: string; server_only: boolean; customer_type: "user" | "team" | "custom"; stackable: boolean; prices: Record; included_items: Record; }; adjusted_transaction_id: string | null; adjusted_entry_index: number | null; price_id: string | null; } | { type: "product_revocation"; quantity: number; adjusted_transaction_id: string; adjusted_entry_index: number; } | { type: "product_revocation_reversal"; quantity: number; adjusted_transaction_id: string; adjusted_entry_index: number; })[]; adjusted_by: { transaction_id: string; entry_index: number; }[]; test_mode: boolean; }, yup.AnyObject, { id: undefined; created_at_millis: undefined; effective_at_millis: undefined; type: undefined; entries: undefined; adjusted_by: undefined; test_mode: undefined; }, "">; type Transaction = InferType; //#endregion export { TRANSACTION_TYPES, Transaction, TransactionEntry, TransactionType, transactionEntrySchema, transactionSchema }; //# sourceMappingURL=transactions.d.ts.map