import HttpClient from '../http.cjs';
import { BaseService } from '../types.cjs';
import BillingStatementDto from './dto.cjs';
import { CreateBillingStatementPayload, UpdateBillingStatementPayload, BillingStatementSearchParams } from './types.cjs';
import 'needle';
import '../customer/dto.cjs';
import '../customer/types.cjs';
import '../payment-intent/dto.cjs';
import '../payment-intent/types.cjs';
import '../statement-line-item/dto.cjs';
import '../statement-line-item/types.cjs';

declare class BillingStatementService implements BaseService {
    private readonly client;
    basePath: string;
    constructor(client: HttpClient);
    create(params: CreateBillingStatementPayload): Promise<BillingStatementDto>;
    update(params: UpdateBillingStatementPayload): Promise<BillingStatementDto>;
    getById(id: string): Promise<BillingStatementDto>;
    getAll(searchParams?: BillingStatementSearchParams): Promise<any>;
    delete(id: string): Promise<BillingStatementDto>;
    perform(action: string): (id: string) => Promise<BillingStatementDto>;
    finalize: (id: string) => Promise<BillingStatementDto>;
    markUncollectible: (id: string) => Promise<BillingStatementDto>;
    void: (id: string) => Promise<BillingStatementDto>;
    send: (id: string) => Promise<BillingStatementDto>;
}

export { BillingStatementService as default };
