import CustomerDto from '../customer/dto.cjs';
import PaymentIntentDto from '../payment-intent/dto.cjs';
import StatementLineItemDto from '../statement-line-item/dto.cjs';
import { AvailablePaymentMethods } from '../types.cjs';
import { BillingStatementResource } from './types.cjs';
import '../customer/types.cjs';
import '../payment-intent/types.cjs';
import '../statement-line-item/types.cjs';

declare class BillingStatementDto {
    id: string;
    resource: string;
    amount: number;
    currency: string;
    customer_id: string;
    description: string | null;
    status: string;
    line_items: StatementLineItemDto[];
    livemode: boolean;
    url: string;
    customer: Pick<CustomerDto, "id" | "name" | "email">;
    payment_intent: PaymentIntentDto;
    metadata: Record<string, string> | null;
    payment_settings: {
        payment_methods: AvailablePaymentMethods;
    };
    billing_details_collection: string;
    due_at: number;
    created_at: number;
    updated_at: number;
    constructor(apiResponse: BillingStatementResource);
}

export { BillingStatementDto as default };
