import type { AllowedIPRange } from './config'; export type CloudState = { subscription?: Subscription; products?: Record; customer?: CloudCustomer; invoices?: Record; limits: { limitsLoaded: boolean; limits: Limits; }; errors: { subscription?: true; products?: true; customer?: true; invoices?: true; limits?: true; trueUpReview?: true; }; }; export type Installation = { id: string; state: string; allowed_ip_ranges: AllowedIPRange[]; }; export type Subscription = { id: string; customer_id: string; product_id: string; add_ons: string[]; start_at: number; end_at: number; create_at: number; seats: number; last_invoice?: Invoice; upcoming_invoice?: Invoice; trial_end_at: number; is_free_trial: string; delinquent_since?: number; compliance_blocked?: string; billing_type?: string; cancel_at?: number; will_renew?: string; simulated_current_time_ms?: number; is_cloud_preview?: boolean; }; export type Product = { id: string; name: string; description: string; price_per_seat: number; add_ons: AddOn[]; product_family: string; sku: string; billing_scheme: string; recurring_interval: string; cross_sells_to: string; }; export type AddOn = { id: string; name: string; display_name: string; price_per_seat: number; }; export type CloudCustomer = { id: string; creator_id: string; create_at: number; email: string; name: string; num_employees: number; contact_first_name: string; contact_last_name: string; billing_address: Address; company_address: Address; payment_method: PaymentMethod; }; export type CloudCustomerPatch = { email?: string; name?: string; num_employees?: number; contact_first_name?: string; contact_last_name?: string; }; export type Address = { city: string; country: string; line1: string; line2: string; postal_code: string; state: string; }; export type PaymentMethod = { type: string; last_four: string; exp_month: number; exp_year: number; card_brand: string; name: string; }; export type NotifyAdminRequest = { trial_notification: boolean; required_plan: string; required_feature: string; }; export type Invoice = { id: string; number: string; create_at: number; total: number; tax: number; status: string; description: string; period_start: number; period_end: number; subscription_id: string; line_items: InvoiceLineItem[]; current_product_name: string; }; export declare const InvoiceLineItemType: { readonly Full: "full"; readonly Partial: "partial"; readonly OnPremise: "onpremise"; readonly Metered: "metered"; }; export type InvoiceLineItem = { price_id: string; total: number; quantity: number; price_per_unit: number; description: string; type: typeof InvoiceLineItemType[keyof typeof InvoiceLineItemType]; metadata: Record; period_start: number; period_end: number; }; export type Limits = { messages?: { history?: number; }; files?: { total_storage?: number; }; teams?: { active?: number; }; }; export interface CloudUsage { files: { totalStorage: number; totalStorageLoaded: boolean; }; messages: { history: number; historyLoaded: boolean; }; teams: TeamsUsage; } export type TeamsUsage = { active: number; cloudArchived: number; teamsLoaded: boolean; }; export type ValidBusinessEmail = { is_valid: boolean; }; export interface NewsletterRequestBody { email: string; subscribed_content: string; } export declare const areShippingDetailsValid: (address: Address | null | undefined) => boolean; export type Feedback = { reason: string; comments: string; }; export type MessageDescriptor = { id: string; defaultMessage: string; values?: Record; }; export type PreviewModalContentData = { skuLabel: MessageDescriptor; title: MessageDescriptor; subtitle: MessageDescriptor; videoUrl: string; videoPoster?: string; useCase: string; };