import { Response, Request } from 'express';
import { ExpenseService } from './expense.service';
import { AddExpenseDto, ListExpenseDto, UpdateExpenseStatusDto, ListTripExpenseDto, ExportExpenseDto, UpdateExpenseDto, AddExpenseCategoryDto, UpdateExpenseCategoryDto, ListExpenseCategoryDto, UpdateExpenseCategoryStatusDto } from './dto/expense.dto';
export declare class ExpenseController {
    private readonly expenseService;
    constructor(expenseService: ExpenseService);
    addExpense(req: Request, res: Response, body: AddExpenseDto): Promise<any>;
    listExpenses(req: Request, res: Response, query: ListExpenseDto): Promise<any>;
    getTripExpenses(req: Request, res: Response, query: ListTripExpenseDto, trip_id: string): Promise<any>;
    updateExpenseStatus(req: Request, res: Response, body: UpdateExpenseStatusDto): Promise<any>;
    patchExpense(req: Request, res: Response, id: string, body: UpdateExpenseDto): Promise<any>;
    putExpense(req: Request, res: Response, id: string, body: UpdateExpenseDto): Promise<any>;
    expenseCategoryList(req: Request, res: Response, query: ListExpenseCategoryDto): Promise<any>;
    addExpenseCategory(req: Request, res: Response, body: AddExpenseCategoryDto): Promise<any>;
    updateExpenseCategoryPut(req: Request, res: Response, id: string, body: UpdateExpenseCategoryDto): Promise<any>;
    updateExpenseCategoryPatch(req: Request, res: Response, id: string, body: UpdateExpenseCategoryDto): Promise<any>;
    updateExpenseCategoryStatusPatch(req: Request, res: Response, id: string, body: UpdateExpenseCategoryStatusDto): Promise<any>;
    updateExpenseCategoryStatusPut(req: Request, res: Response, id: string, body: UpdateExpenseCategoryStatusDto): Promise<any>;
    deleteExpenseCategory(req: Request, res: Response, id: string): Promise<any>;
    exportExpenseCsv(req: Request, res: Response, query: ExportExpenseDto): Promise<Response<any, Record<string, any>> | undefined>;
}
