import { CreateDesignDto } from './dto/create-design.dto';
import { UpdateDesignDto } from './dto/update-design.dto';
import { PrismaService } from 'src/prisma/prisma.service';
export declare class DesignsService {
    private prisma;
    constructor(prisma: PrismaService);
    private logger;
    create(createDesignDto: CreateDesignDto): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        jobId: number;
    }>;
    findAll(): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        jobId: number;
    }[]>;
    findByJobId(jobId: number): Promise<({
        imprints: ({
            inks: ({
                ink: {
                    id: number;
                    name: string;
                    createdAt: Date;
                    updatedAt: Date;
                    color: string;
                    storageCode: string;
                    library: string;
                    active: boolean;
                };
            } & {
                id: number;
                createdAt: Date;
                updatedAt: Date;
                imprintId: number;
                inkId: number;
                mesh: string;
            })[];
            images: {
                id: number;
                createdAt: Date;
                updatedAt: Date;
                imprintId: number;
                url: string;
            }[];
        } & {
            id: number;
            createdAt: Date;
            updatedAt: Date;
            type: string;
            pricingType: string;
            location: string;
            height: number;
            width: number;
            designId: number;
        })[];
        lineItems: ({
            product: {
                category: {
                    id: number;
                    name: string;
                    createdAt: Date;
                    updatedAt: Date;
                };
            } & {
                id: number;
                createdAt: Date;
                updatedAt: Date;
                title: string;
                description: string;
                categoryId: number;
                brand: string;
                brandId: string;
                cost: number;
                modifier: number;
                price: number;
                syncId: string | null;
                syncState: string;
                syncEnabled: boolean;
                syncLastUpdated: Date | null;
                syncLastSynced: Date | null;
                syncProviderId: number | null;
            };
            sizes: {
                id: number;
                name: string;
                createdAt: Date;
                updatedAt: Date;
                amount: number;
                lineItemId: number;
            }[];
        } & {
            id: number;
            createdAt: Date;
            updatedAt: Date;
            color: string;
            price: number;
            designId: number;
            total: number;
            productId: number;
            calculatedPrice: number;
            legacyState: string;
        })[];
    } & {
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        jobId: number;
    })[]>;
    findOne(id: number): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        jobId: number;
    } | null>;
    update(id: number, updateDesignDto: UpdateDesignDto): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        jobId: number;
    }>;
    remove(id: number): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        jobId: number;
    }>;
}
