import { CreateSupplierDto } from "./dto/create-supplier.dto";
import { SupplierQueryDto } from "./dto/supplier-query.dto";
import { UpdateSupplierDto } from "./dto/update-supplier.dto";
import { SuppliersService } from "./suppliers.service";
export declare class SuppliersController {
    private readonly suppliersService;
    constructor(suppliersService: SuppliersService);
    findAll(companyId: string, query: SupplierQueryDto): Promise<{
        items: {
            createdAt: string;
            updatedAt: string;
            openPayablesCount: number;
            totalOpenAmount: number;
            payables: {
                id: string;
                amount: import("@prisma/client/runtime/library").Decimal;
                dueDate: Date;
                status: import(".prisma/client").$Enums.FinancialStatus;
            }[];
            id: string;
            companyId: string;
            name: string;
            document: string | null;
            email: string | null;
            phone: string | null;
            contactName: string | null;
        }[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    getStats(companyId: string): Promise<{
        total: number;
        activeWithPayables: number;
        totalPayableAmount: number;
    }>;
    findOne(companyId: string, id: string): Promise<{
        createdAt: string;
        updatedAt: string;
        openPayablesCount: number;
        totalOpenAmount: number;
        payables: {
            amount: number;
            dueDate: string;
            paidAt: string | null;
            serviceOrder: {
                id: string;
                companyId: string;
                description: string | null;
                status: import(".prisma/client").$Enums.MaintenanceStatus;
                equipmentId: string;
                code: string;
                title: string;
                cost: import("@prisma/client/runtime/library").Decimal;
                openedAt: Date;
                closedAt: Date | null;
            } | null;
            id: string;
            companyId: string;
            createdAt: Date;
            updatedAt: Date;
            supplierId: string | null;
            serviceOrderId: string | null;
            description: string;
            status: import(".prisma/client").$Enums.FinancialStatus;
        }[];
        id: string;
        companyId: string;
        name: string;
        document: string | null;
        email: string | null;
        phone: string | null;
        contactName: string | null;
    }>;
    create(companyId: string, dto: CreateSupplierDto): Promise<{
        createdAt: string;
        updatedAt: string;
        id: string;
        companyId: string;
        name: string;
        document: string | null;
        email: string | null;
        phone: string | null;
        contactName: string | null;
    }>;
    update(companyId: string, id: string, dto: UpdateSupplierDto): Promise<{
        createdAt: string;
        updatedAt: string;
        id: string;
        companyId: string;
        name: string;
        document: string | null;
        email: string | null;
        phone: string | null;
        contactName: string | null;
    }>;
    remove(companyId: string, id: string): Promise<{
        id: string;
        companyId: string;
        name: string;
        document: string | null;
        email: string | null;
        phone: string | null;
        contactName: string | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
}
