import { CustomersService } from './customers.service';
import { CreateCustomerDto } from './dto/create-customer.dto';
import { UpdateCustomerDto } from './dto/update-customer.dto';
import type { Request } from 'express';
export declare class CustomersController {
    private readonly customersService;
    constructor(customersService: CustomersService);
    create(dto: CreateCustomerDto, req: any): Promise<import("./entities/customer.entity").Customer>;
    findAll(page: number | undefined, limit: number | undefined, filters: Record<string, any>, req: Request): Promise<import("../../common/interfaces/pagination-result.interface").PaginationResult<import("./entities/customer.entity").Customer>>;
    findOne(id: number): Promise<{
        customFields: {};
        id: number;
        name: string;
        code: string;
        phone: string;
        email: string;
        address: string;
        facebook: string;
        zalo: string;
        note: string;
        status: number;
        created_at: Date;
        updated_at: Date;
        customerUsers: import("./entities/customer-user.entity").CustomerUser[];
        fieldValues: import("./entities/customer-field-value.entity").CustomerFieldValue[];
    }>;
    update(id: number, dto: UpdateCustomerDto): Promise<import("./entities/customer.entity").Customer>;
    bulkDelete(ids: (number | string)[]): Promise<{
        success: boolean;
        deletedCount: number;
        ids: (string | number)[];
    }>;
    remove(id: number): Promise<{
        deleted: boolean;
    }>;
}
