import { QuotesService } from './quotes.service';
import { CreateQuoteDto } from './dto/create-quote.dto';
import { UpdateQuoteDto } from './dto/update-quote.dto';
export declare class QuotesController {
    private readonly quotesService;
    constructor(quotesService: QuotesService);
    create(createQuoteDto: CreateQuoteDto): string;
    emailQuote(key: string, email: string, subject: string, message: string, htmlMessage: string): Promise<{
        message: string;
    }>;
    findAll(page: number, limit: number, sortBy: string, sortOrder: string, search: string, status: 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;
    })[][], number, number]>;
    regen(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;
    }>;
    findOne(key: string): Promise<any>;
    generateProof(key: string): Promise<{
        url: string;
        jobId: number | undefined;
    }>;
    update(id: string, updateQuoteDto: UpdateQuoteDto): string;
    approve(key: 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;
    }>;
    reject(key: string, shippingNotes: 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;
    }>;
    remove(id: string): string;
}
