import { PagingQuery } from '../common/types';
export interface PdfTemplate {
    id: number;
    /**
     * User specific name of the PDF template
     */
    name: string;
    /**
     * The HTML content used for rendering PDFs. Scriban syntax is used for the data templates. See here: https://github.com/scriban/scriban
     * The template should contain the {{ticket.qr_code_link}} required image.
     */
    content: string;
    /**
     * Flag indicates if this PDF template should be used as the default one, if none is specified.
     */
    isDefault: boolean;
}
export interface CreatePdfTemplate {
    name: string;
    content: string;
    isDefault: boolean;
}
export interface UpdatePdfTemplate {
    name?: string;
    content?: string;
    isDefault?: boolean;
}
export interface ListPdfTemplatesQuery extends PagingQuery {
    name?: string;
}
export interface ListPdfTemplatesResponse {
    data: PdfTemplate[];
    limit: number;
    offset: number;
    total: number;
}
export type PdfOrderContact = {
    email: string;
    phone: string;
    firstName: string;
    lastName: string;
    billingEmail: string;
    street1: string;
    street2: string;
    city: string;
    state: string;
    country: string;
    zip: string;
};
export type PdfOrganizer = {
    name: string;
    displayName?: string;
    taxNumber?: string;
    address?: {
        street1?: string;
        city?: string;
        country?: string;
        zip?: string;
    };
    contact?: {
        email?: string;
        phone?: string;
    };
};
export type PdfVenue = {
    name?: string;
    address?: {
        street1?: string;
        city?: string;
        country?: string;
        zip?: string;
    };
};
export type PdfEvent = {
    name: string;
    description?: string;
    venue?: PdfVenue;
    startAt?: string;
    endAt?: string;
    gateTime?: string;
};
export type PdfTicketHolder = {
    honorific?: string;
    firstName?: string;
    lastName?: string;
    address?: {
        street1?: string;
        city?: string;
        country?: string;
        zip?: string;
    };
};
export type PdfTicket = {
    purchaseDate: string;
    ticketId: string;
    qrCodeLink: string;
    person?: PdfTicketHolder;
    ticketCategory?: string;
    price?: number;
    currency?: string;
    sector?: string;
    row?: string;
    seat?: string;
};
export interface PdfTicketData {
    event: PdfEvent;
    organizer: PdfOrganizer;
    tickets: PdfTicket[];
    contact: Partial<PdfOrderContact>;
}
export interface RenderPdfWithCustomTemplateRequest {
    template: string;
    pdfTicket: PdfTicketData;
}
//# sourceMappingURL=types.d.ts.map