import * as z from "zod/v4-mini"; import { ClosedEnum } from "../../types/enums.js"; import { FilterCondition, FilterCondition$Outbound } from "./filter-condition.js"; import { InvoiceBillingReason } from "./invoice-billing-reason.js"; import { InvoiceStatus } from "./invoice-status.js"; import { InvoiceType } from "./invoice-type.js"; import { PaymentStatus } from "./payment-status.js"; import { SortCondition, SortCondition$Outbound } from "./sort-condition.js"; import { Status } from "./status.js"; export declare const InvoiceFilterOrder: { readonly Asc: "asc"; readonly Desc: "desc"; }; export type InvoiceFilterOrder = ClosedEnum; export type InvoiceFilter = { /** * amount_due_gt filters invoices with a total amount due greater than the specified value * * @remarks * Useful for finding invoices above a certain threshold or identifying high-value invoices */ amountDueGt?: number | undefined; /** * amount_remaining_gt filters invoices with an outstanding balance greater than the specified value * * @remarks * Useful for finding invoices that still have significant unpaid amounts */ amountRemainingGt?: number | undefined; billingReason?: InvoiceBillingReason | undefined; /** * currency filters invoices by their currency (ISO 4217 code, e.g. "usd", "eur"). * * @remarks * Matches on the invoices.currency column exactly. */ currency?: string | undefined; /** * customer_id filters invoices for a specific customer using FlexPrice's internal customer ID * * @remarks * This is the ID returned by FlexPrice when creating or retrieving customers */ customerId?: string | undefined; endTime?: Date | undefined; expand?: string | undefined; /** * external_customer_id filters invoices for a customer using your system's customer identifier * * @remarks * This is the ID you provided when creating the customer in FlexPrice */ externalCustomerId?: string | undefined; filters?: Array | undefined; /** * invoice_ids restricts results to invoices with the specified IDs * * @remarks * Use this to retrieve specific invoices when you know their exact identifiers */ invoiceIds?: Array | undefined; /** * invoice_status filters by the current state of invoices in their lifecycle * * @remarks * Multiple statuses can be specified to include invoices in any of the listed states */ invoiceStatus?: Array | undefined; invoiceType?: InvoiceType | undefined; limit?: number | undefined; offset?: number | undefined; order?: InvoiceFilterOrder | undefined; /** * payment_status filters by the payment state of invoices * * @remarks * Multiple statuses can be specified to include invoices with any of the listed payment states */ paymentStatus?: Array | undefined; /** * period_end_gte filters invoices with period_end >= value */ periodEndGte?: string | undefined; /** * period_end_lte filters invoices with period_end <= value */ periodEndLte?: string | undefined; /** * period_start_gte filters invoices with period_start >= value */ periodStartGte?: string | undefined; /** * period_start_lte filters invoices with period_start <= value */ periodStartLte?: string | undefined; /** * SkipLineItems if true, will not include line items in the response */ skipLineItems?: boolean | undefined; sort?: Array | undefined; startTime?: Date | undefined; status?: Status | undefined; /** * subscription_customer_id filters invoices by the subscription owner's customer ID */ subscriptionCustomerId?: Array | undefined; /** * subscription_id filters invoices generated for a specific subscription * * @remarks * Only returns invoices that were created as part of the specified subscription's billing */ subscriptionId?: string | undefined; }; /** @internal */ export declare const InvoiceFilterOrder$outboundSchema: z.ZodMiniEnum; /** @internal */ export type InvoiceFilter$Outbound = { amount_due_gt?: number | undefined; amount_remaining_gt?: number | undefined; billing_reason?: string | undefined; currency?: string | undefined; customer_id?: string | undefined; end_time?: string | undefined; expand?: string | undefined; external_customer_id?: string | undefined; filters?: Array | undefined; invoice_ids?: Array | undefined; invoice_status?: Array | undefined; invoice_type?: string | undefined; limit?: number | undefined; offset?: number | undefined; order?: string | undefined; payment_status?: Array | undefined; period_end_gte?: string | undefined; period_end_lte?: string | undefined; period_start_gte?: string | undefined; period_start_lte?: string | undefined; skip_line_items?: boolean | undefined; sort?: Array | undefined; start_time?: string | undefined; status?: string | undefined; subscription_customer_id?: Array | undefined; subscription_id?: string | undefined; }; /** @internal */ export declare const InvoiceFilter$outboundSchema: z.ZodMiniType; export declare function invoiceFilterToJSON(invoiceFilter: InvoiceFilter): string; //# sourceMappingURL=invoice-filter.d.ts.map