import { ExpensesService } from './expenses.service';
import { CreateExpenseDto } from './dto/create-expense.dto';
import { UpdateExpenseDto } from './dto/update-expense.dto';
import { ExpenseQueryDto } from './dto/expense-query.dto';
import { ExpenseDto, PaginatedExpensesDto } from './dto/expense-response.dto';
import { AuthenticatedUser } from '../auth/strategies/jwt.strategy';
export declare class ExpensesController {
    private readonly expensesService;
    constructor(expensesService: ExpensesService);
    createExpense(groupId: string, user: AuthenticatedUser, dto: CreateExpenseDto): Promise<ExpenseDto>;
    listGroupExpenses(groupId: string, query: ExpenseQueryDto): Promise<PaginatedExpensesDto>;
    listMyExpenses(user: AuthenticatedUser, query: ExpenseQueryDto): Promise<PaginatedExpensesDto>;
    getExpense(expenseId: string, user: AuthenticatedUser): Promise<ExpenseDto>;
    updateExpense(expenseId: string, user: AuthenticatedUser, dto: UpdateExpenseDto): Promise<ExpenseDto>;
    deleteExpense(expenseId: string, user: AuthenticatedUser): Promise<{
        message: string;
    }>;
}
