import type { ApiClient } from '../http';
import type { Expense, ExpenseCreateRequest, ExpenseCreateWithFileRequest, ExpenseFileUpload, ExpenseListParams, ExpenseStatus, ExpenseUpdateRequest } from '../models';
import { NavigablePage } from '../models';
import { Resource } from './Resource';
export declare class ExpenseResource extends Resource {
    constructor(client: ApiClient);
    list(params?: ExpenseListParams): Promise<NavigablePage<Expense>>;
    create(data: ExpenseCreateRequest): Promise<Expense>;
    update(id: string, data: ExpenseUpdateRequest): Promise<Expense>;
    get(id: string): Promise<Expense>;
    delete(id: string): Promise<void>;
    search(params: ExpenseListParams): Promise<NavigablePage<Expense>>;
    updateStatus(data: ExpenseStatus): Promise<Expense>;
    uploadFile(id: string, file: ExpenseFileUpload): Promise<Expense>;
    createWithFile(data: ExpenseCreateWithFileRequest): Promise<Expense>;
    getFileUrl(id: string): Promise<{
        url: string;
    }>;
}
//# sourceMappingURL=ExpenseResource.d.ts.map