export declare type InvoiceStatus = "pending" | "paid" | "canceled" | "failed" | "refunded" | "manual_pending";
export declare type APIInvoiceProduct = {
    product_name: string;
    discount: string | null;
    formatted_price: string;
    price: number;
    quantity: number;
    order_id: string | null;
    profile_id: string | null;
    product: string;
};
export declare type APIInvoiceExtra = {
    description: string;
    formatted_price: string;
    price: number;
    quantity: number;
};
export declare type APIInvoice = {
    id: string;
    products: APIInvoiceProduct[];
    extras: APIInvoiceExtra[];
    status: InvoiceStatus;
    payment_gateway: string;
    amount: number;
    charged_amount: string;
    quantity_items: number;
    user_id: string;
    paid_at: string;
    retried_at: string | null;
    retries: number;
    period: string | null;
    checkout: string;
    discount: string | null;
    total_discount: number;
};
export declare type StoreInvoiceProduct = Omit<APIInvoiceProduct, "product_name" | "formatted_price" | "order_id" | "profile_id"> & {
    productName: APIInvoiceProduct["product_name"];
    formattedPrice: APIInvoiceProduct["formatted_price"];
    orderId: APIInvoiceProduct["order_id"];
    profileId: APIInvoiceProduct["profile_id"];
};
export declare type StoreInvoiceExtra = Omit<APIInvoiceExtra, "formatted_price"> & {
    formattedPrice: APIInvoiceProduct["formatted_price"];
};
export declare type StoreInvoice = Omit<APIInvoice, "products" | "extras" | "payment_gateway" | "charged_amount" | "quantity_items" | "user_id" | "paid_at" | "retried_at" | "total_discount"> & {
    products: StoreInvoiceProduct[];
    extras: StoreInvoiceExtra[];
    paymentGateway: APIInvoice["payment_gateway"];
    chargedAmount: APIInvoice["charged_amount"];
    quantityItems: APIInvoice["quantity_items"];
    userId: APIInvoice["user_id"];
    paidAt: APIInvoice["paid_at"];
    retriedAt: APIInvoice["retried_at"];
    totalDiscount: APIInvoice["total_discount"];
};
