import { JobsService } from './jobs.service';
import { CreateJobDto } from './dto/create-job.dto';
import { UpdateJobDto } from './dto/update-job.dto';
export declare class JobsController {
    private readonly jobsService;
    constructor(jobsService: JobsService);
    create(createJobDto: CreateJobDto): Promise<{
        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;
    }>;
    findAll(page: number, limit: number, sortBy: string, sortOrder: string, search: string, status: string | Array<string> | undefined, assignee: number | undefined): Promise<[({
        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;
    } | {
        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;
    })[][], number, number]>;
    findAllSimpleTotal(client: string, status: string | Array<string> | undefined): Promise<number>;
    findBySearch(page: number, limit: number, sortBy: string, sortOrder: string, search: string, searchType: string): Promise<[({
        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;
    } | {
        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;
    })[][], number, number]>;
    createStockTake(jobId: number): Promise<{
        url: string;
        jobId: number | undefined;
    }>;
    findByMultiSearch(page: number, limit: number, sortBy: string, sortOrder: string, includeTotals: boolean | undefined, search: string): Promise<[({
        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;
    } | {
        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;
    })[][], number, number]>;
    findOne(id: string, fields: Array<string> | undefined): Promise<{
        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;
    } | {
        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;
    } | null>;
    findMany(startDate: string, endDate: string, status: string): Promise<any[]>;
    update(id: string, updateJobDto: UpdateJobDto): Promise<{
        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;
    }>;
    remove(id: string): Promise<{
        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;
    }>;
}
