import { DeleteDTO } from '../dto/delete.dto';
import { UpdateIdsDTO } from '../dto/update-ids.dto';
import { CreateDTO } from './dto/create.dto';
import { OrderDTO } from './dto/order.dto';
import { UpdateDTO } from './dto/update.dto';
import { MenuService } from './menu.service';
export declare class MenuController {
    private readonly menuService;
    constructor(menuService: MenuService);
    getSystemMenu({ id }: {
        id: any;
    }, locale: any): Promise<any[]>;
    stats(): Promise<{
        total: number;
    }>;
    listAll(locale: any): Promise<any[]>;
    list(paginationParams: any, locale: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listRoles(menuId: number, paginationParams: any, locale: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    updateRoles(menuId: number, data: UpdateIdsDTO, locale: any): Promise<{
        count: number;
    }>;
    show(locale: any, menuId: number): Promise<{
        menu_locale: ({
            locale: {
                code: string;
            };
        } & {
            name: string;
            id: number;
            created_at: Date;
            updated_at: Date;
            locale_id: number;
            menu_id: number;
        })[];
    } & {
        id: number;
        url: string | null;
        order: number;
        icon: string;
        created_at: Date;
        updated_at: Date;
        slug: string;
        menu_id: number | null;
    }>;
    create(locale: any, data: CreateDTO): Promise<{
        id: number;
        url: string | null;
        order: number;
        icon: string;
        created_at: Date;
        updated_at: Date;
        slug: string;
        menu_id: number | null;
    }>;
    updateOrder(locale: any, data: OrderDTO): Promise<void>;
    update(locale: any, menuId: number, data: UpdateDTO): Promise<{
        id: number;
        url: string | null;
        order: number;
        icon: string;
        created_at: Date;
        updated_at: Date;
        slug: string;
        menu_id: number | null;
    }>;
    delete(locale: any, data: DeleteDTO): Promise<{
        count: number;
    }>;
}
//# sourceMappingURL=menu.controller.d.ts.map