import { z } from 'zod/v4'; /** Supported currencies. */ export declare const CurrencySchema: z.ZodEnum<{ USD: "USD"; EUR: "EUR"; GBP: "GBP"; CAD: "CAD"; AUD: "AUD"; JPY: "JPY"; CHF: "CHF"; TRY: "TRY"; BRL: "BRL"; INR: "INR"; }>; export type Currency = z.infer; /** Invoice lifecycle states. */ export declare const InvoiceStatusSchema: z.ZodEnum<{ draft: "draft"; sent: "sent"; viewed: "viewed"; paid: "paid"; overdue: "overdue"; cancelled: "cancelled"; refunded: "refunded"; }>; export type InvoiceStatus = z.infer; /** Accepted payment methods. */ export declare const PaymentMethodSchema: z.ZodEnum<{ stripe: "stripe"; paypal: "paypal"; bank_transfer: "bank_transfer"; cash: "cash"; check: "check"; crypto: "crypto"; other: "other"; }>; export type PaymentMethod = z.infer; /** A single line item on an invoice. */ export declare const LineItemSchema: z.ZodObject<{ description: z.ZodString; quantity: z.ZodNumber; unit_price: z.ZodNumber; tax_rate: z.ZodDefault; discount_percent: z.ZodDefault; amount: z.ZodNumber; }, z.core.$strip>; export type LineItem = z.infer; /** Summary of a client's payment activity. */ export declare const PaymentHistorySchema: z.ZodObject<{ total_invoices: z.ZodDefault; paid_invoices: z.ZodDefault; avg_days_to_payment: z.ZodDefault>; late_payment_count: z.ZodDefault; total_revenue: z.ZodDefault; }, z.core.$strip>; export type PaymentHistory = z.infer; /** Client information. */ export declare const ClientSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; email: z.ZodString; company: z.ZodOptional; address: z.ZodOptional; city: z.ZodOptional; country: z.ZodOptional; tax_id: z.ZodOptional; phone: z.ZodOptional; default_currency: z.ZodOptional>; notes: z.ZodOptional; payment_history: z.ZodOptional; paid_invoices: z.ZodDefault; avg_days_to_payment: z.ZodDefault>; late_payment_count: z.ZodDefault; total_revenue: z.ZodDefault; }, z.core.$strip>>; created_at: z.ZodString; updated_at: z.ZodString; }, z.core.$strip>; export type Client = z.infer; /** * Flexible date input: accepts either a date-only string (YYYY-MM-DD) * or a full ISO-8601 datetime. Normalises to a full datetime string so * downstream code can rely on the strict `.datetime()` format everywhere * else. This is deliberately permissive because humans (and LLMs) * typically think of invoice dates as "2026-04-15", not * "2026-04-15T00:00:00.000Z". */ export declare const FlexibleDateSchema: z.ZodPipe>; /** Full invoice representation. */ export declare const InvoiceSchema: z.ZodObject<{ id: z.ZodString; invoice_number: z.ZodString; client_id: z.ZodString; client_name: z.ZodString; client_email: z.ZodString; status: z.ZodDefault>; currency: z.ZodDefault>; line_items: z.ZodArray; discount_percent: z.ZodDefault; amount: z.ZodNumber; }, z.core.$strip>>; subtotal: z.ZodNumber; tax_total: z.ZodNumber; discount_total: z.ZodNumber; total: z.ZodNumber; amount_paid: z.ZodDefault; amount_due: z.ZodNumber; issue_date: z.ZodString; due_date: z.ZodString; paid_date: z.ZodNullable; notes: z.ZodOptional; terms: z.ZodOptional; payment_method: z.ZodDefault>>; risk_score: z.ZodDefault>; risk_action: z.ZodDefault>; reminder_count: z.ZodDefault; last_reminder_at: z.ZodNullable; created_at: z.ZodString; updated_at: z.ZodString; }, z.core.$strip>; export type Invoice = z.infer; /** Input for creating a new invoice. */ export declare const InvoiceCreateInputSchema: z.ZodObject<{ client_id: z.ZodString; currency: z.ZodOptional>; line_items: z.ZodArray; discount_percent: z.ZodOptional; }, z.core.$strip>>; issue_date: z.ZodOptional>>; due_date: z.ZodOptional>>; notes: z.ZodOptional; terms: z.ZodOptional; }, z.core.$strip>; export type InvoiceCreateInput = z.infer; /** Input for listing/filtering invoices. */ export declare const InvoiceListInputSchema: z.ZodObject<{ status: z.ZodOptional>; client_id: z.ZodOptional; min_amount: z.ZodOptional; max_amount: z.ZodOptional; from_date: z.ZodOptional; to_date: z.ZodOptional; overdue_only: z.ZodDefault; limit: z.ZodDefault; offset: z.ZodDefault; }, z.core.$strip>; export type InvoiceListInput = z.infer; /** Input for creating a new client. */ export declare const ClientCreateInputSchema: z.ZodObject<{ name: z.ZodString; email: z.ZodString; company: z.ZodOptional; address: z.ZodOptional; city: z.ZodOptional; country: z.ZodOptional; tax_id: z.ZodOptional; phone: z.ZodOptional; default_currency: z.ZodOptional>; notes: z.ZodOptional; }, z.core.$strip>; export type ClientCreateInput = z.infer; /** Risk level classification. */ export declare const RiskLevelSchema: z.ZodEnum<{ low: "low"; medium: "medium"; high: "high"; }>; export type RiskLevel = z.infer; /** Individual risk factor detail. */ export declare const RiskFactorSchema: z.ZodObject<{ factor: z.ZodString; impact: z.ZodNumber; detail: z.ZodString; }, z.core.$strip>; export type RiskFactor = z.infer; /** Risk assessment for an invoice. */ export declare const RiskAssessmentSchema: z.ZodObject<{ invoice_id: z.ZodString; risk_score: z.ZodNumber; risk_level: z.ZodEnum<{ low: "low"; medium: "medium"; high: "high"; }>; factors: z.ZodArray>; recommended_action: z.ZodString; next_reminder_date: z.ZodNullable; }, z.core.$strip>; export type RiskAssessment = z.infer; /** Cash flow summary for a given period. */ export declare const CashflowReportSchema: z.ZodObject<{ period: z.ZodString; total_invoiced: z.ZodNumber; total_collected: z.ZodNumber; total_outstanding: z.ZodNumber; total_overdue: z.ZodNumber; collection_rate: z.ZodNumber; avg_days_to_payment: z.ZodNullable; projected_income_30d: z.ZodNumber; by_status: z.ZodRecord>; by_client: z.ZodArray>; }, z.core.$strip>; export type CashflowReport = z.infer;