import { CreateClientDto } from './dto/create-client.dto';
import { UpdateClientDto } from './dto/update-client.dto';
import { PrismaService } from 'src/prisma/prisma.service';
export declare class ClientsService {
    private prisma;
    constructor(prisma: PrismaService);
    private readonly logger;
    create(createClientDto: CreateClientDto): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        notes: string;
        email: string;
        phone: string;
        address1: string;
        address2: string;
        city: string;
        state: string;
        postcode: string;
        country: string;
    }>;
    findAll(skip: number | undefined, take: number | undefined, sortBy: string, sortOrder: string, search?: string): Promise<[({
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        notes: string;
        email: string;
        phone: string;
        address1: string;
        address2: string;
        city: string;
        state: string;
        postcode: string;
        country: string;
    } | {
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        notes: string;
        email: string;
        phone: string;
        address1: string;
        address2: string;
        city: string;
        state: string;
        postcode: string;
        country: string;
    })[][], number, number]>;
    findOne(id: number): Promise<({
        jobs: {
            id: number;
            createdAt: Date;
            updatedAt: Date;
            clientId: number;
            title: string;
            description: string;
            status: string;
            poNumber: string;
            invoiceDate: Date;
            productionDate: Date | null;
            productionPriority: number;
            productionNotes: string | null;
            shippingOption: string;
            shippingName: string;
            shippingAddress1: string;
            shippingAddress2: string;
            shippingCity: string;
            shippingState: string;
            shippingPostcode: string;
            shippingCountry: string;
            shippingPhone: string;
            shippingEmail: string;
            shippingNotes: string;
            createdById: number;
            quoteKey: string | null;
            published: boolean;
            invoiceNumber: string;
            generalNotes: string;
            assignedToId: number | null;
        }[];
        users: {
            id: number;
            name: string;
            email: string;
            phone: string;
            address1: string;
            address2: string;
            city: string;
            state: string;
            postcode: string;
            country: string;
            role: string;
            favourite: boolean;
        }[];
    } & {
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        notes: string;
        email: string;
        phone: string;
        address1: string;
        address2: string;
        city: string;
        state: string;
        postcode: string;
        country: string;
    }) | null>;
    findOneSimple(id: number): Promise<{
        id: number;
        name: string;
    } | null>;
    findAllSimple(): Promise<{
        id: number;
        name: string;
    }[]>;
    update(id: number, updateClientDto: UpdateClientDto): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        notes: string;
        email: string;
        phone: string;
        address1: string;
        address2: string;
        city: string;
        state: string;
        postcode: string;
        country: string;
    }>;
    remove(id: number): Promise<{
        id: number;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        notes: string;
        email: string;
        phone: string;
        address1: string;
        address2: string;
        city: string;
        state: string;
        postcode: string;
        country: string;
    }>;
}
