import { HTTPClient } from '../../../../utils/http';
import { CrossPlatformFileResponse } from '../../../../utils/compatibility';
import { CRUD } from '../../../../utils/crud';
import { CreateReceiptDetailDTO, CreateReceiptDTO, ReceiptDetail, ReceiptExtended, ReceiptSummary, ReceiptSummaryQuery, ReceiptTotalDebt, UpdateReceiptDetailDTO, UpdateReceiptDTO, ReceiptTotalDebtQuery } from '../types/receipt';
import { PaginatedResponse } from '../../../../utils/types';
export declare class ReceiptsAPI {
    private readonly _httpClient;
    private readonly _baseUrl;
    private readonly _receiptId?;
    private _crud;
    constructor(_httpClient: HTTPClient, _baseUrl: string, _receiptId?: string | undefined);
    get(id?: string): Promise<ReceiptExtended>;
    create(propertyId: string, data: CreateReceiptDTO): Promise<ReceiptExtended>;
    update(id: string, data: UpdateReceiptDTO): Promise<ReceiptExtended>;
    delete(id?: string): Promise<void>;
    find(query?: Record<string, unknown>): Promise<PaginatedResponse<ReceiptExtended>>;
    totalDebt(query: ReceiptTotalDebtQuery): Promise<Record<string, ReceiptTotalDebt>>;
    summary(query?: ReceiptSummaryQuery): Promise<ReceiptSummary>;
    details(id?: string): ReceiptsDetailsAPI;
    download(id?: string): Promise<CrossPlatformFileResponse>;
    private _getIdParam;
}
export declare class ReceiptsDetailsAPI extends CRUD<ReceiptDetail, CreateReceiptDetailDTO[], UpdateReceiptDetailDTO> {
    constructor(httpClient: HTTPClient, baseUrl: string);
}
//# sourceMappingURL=receipts.d.ts.map