import { PartGroupsService } from '../services/part-groups.service';
import { CreatePartGroupDto, UpdatePartGroupDto, QueryPartGroupsDto, AssignPartsToGroupDto, CreateGroupCustomFieldDto, UpdateGroupCustomFieldDto, PartGroupResponseDto, GroupCustomFieldResponseDto } from '../dto/part-group.dto';
export declare class PartGroupsController {
    private readonly partGroupsService;
    constructor(partGroupsService: PartGroupsService);
    createGroup(dto: CreatePartGroupDto, req: any): Promise<PartGroupResponseDto>;
    findAllGroups(query: QueryPartGroupsDto): Promise<{
        data: PartGroupResponseDto[];
        total: number;
        page: number;
        limit: number;
    }>;
    findGroupById(id: string): Promise<PartGroupResponseDto>;
    updateGroup(id: string, dto: UpdatePartGroupDto, req: any): Promise<PartGroupResponseDto>;
    deleteGroup(id: string, req: any): Promise<void>;
    addCustomFieldToGroup(groupId: string, dto: CreateGroupCustomFieldDto, req: any): Promise<GroupCustomFieldResponseDto>;
    updateCustomField(fieldId: string, dto: UpdateGroupCustomFieldDto, req: any): Promise<GroupCustomFieldResponseDto>;
    deleteCustomField(fieldId: string, req: any): Promise<void>;
    assignPartsToGroup(groupId: string, dto: AssignPartsToGroupDto, req: any): Promise<void>;
    removePartsFromGroup(groupId: string, dto: AssignPartsToGroupDto, req: any): Promise<void>;
    getGroupParts(groupId: string, page?: number, limit?: number): Promise<{
        data: {
            station: string | null;
            id: string;
            createdAt: Date;
            status: import("@prisma/client").$Enums.PartStatus;
            source: string | null;
            metadata: import("@prisma/client/runtime/library").JsonValue;
            updatedAt: Date;
            deletedAt: Date | null;
            customFields: import("@prisma/client/runtime/library").JsonValue | null;
            partNumber: string;
            partNameEn: string;
            partNameCn: string | null;
            unit: string;
            specifications: string | null;
            remark: string | null;
            currentStock: number;
            minStock: number;
            maxStock: number | null;
            warehouseLocation: string | null;
            warehouseId: string | null;
            storageLocationId: string | null;
            imageUrl: string | null;
            stationId: string | null;
        }[];
        total: number;
        page: number;
        limit: number;
    }>;
}
