import { ExpensesService } from './expenses.service';
import { CreateExpenseDto } from './dto/create-expense.dto';
import { UpdateExpenseDto } from './dto/update-expense.dto';
import { CreateFixedExpenseDto } from './dto/create-fixed-expense.dto';
import { UpdateFixedExpenseDto } from './dto/update-fixed-expense.dto';
import { CreateCategoryDto } from './dto/create-category.dto';
import { PaginationDto } from '../../common/dto/pagination.dto';
export declare class ExpensesController {
    private readonly expensesService;
    constructor(expensesService: ExpensesService);
    findAll(user: {
        id: number;
        email: string;
    }, query: PaginationDto & {
        categoryId?: string;
        startDate?: string;
        endDate?: string;
    }): Promise<{
        data: any;
        total: number;
        page: number;
        limit: number;
    }>;
    getCategories(user: {
        id: number;
        email: string;
    }): Promise<any>;
    createCategory(user: {
        id: number;
        email: string;
    }, dto: CreateCategoryDto): Promise<any>;
    deleteCategory(user: {
        id: number;
        email: string;
    }, id: number): Promise<{
        message: string;
    }>;
    getFixedExpenses(user: {
        id: number;
        email: string;
    }): Promise<any>;
    createFixedExpense(user: {
        id: number;
        email: string;
    }, dto: CreateFixedExpenseDto): Promise<any>;
    updateFixedExpense(user: {
        id: number;
        email: string;
    }, id: number, dto: UpdateFixedExpenseDto): Promise<any>;
    deleteFixedExpense(user: {
        id: number;
        email: string;
    }, id: number): Promise<{
        message: string;
    }>;
    getMonthlySummary(user: {
        id: number;
        email: string;
    }, year: string, month: string): Promise<{
        year: number;
        month: number;
        totalAmount: number;
        totalCount: number;
        byCategory: {
            categoryId: number | null;
            nameKo: string;
            nameEn: string;
            total: number;
            count: number;
        }[];
    }>;
    findOne(user: {
        id: number;
        email: string;
    }, id: number): Promise<any>;
    create(user: {
        id: number;
        email: string;
    }, dto: CreateExpenseDto): Promise<any>;
    update(user: {
        id: number;
        email: string;
    }, id: number, dto: UpdateExpenseDto): Promise<any>;
    remove(user: {
        id: number;
        email: string;
    }, id: number): Promise<{
        message: string;
    }>;
}
