import { Metadata, PathLikeOrReadStream, PdfFormat, PdfEngineStamp, PdfEngineWatermark } from '../../common';
import { PdfEngineRotate, Split } from '../../common/types';
import { ChromiumOptions, Cookie } from './common.types';
type PageSize = {
    width: number | string;
    height: number | string;
};
type PageMargins = {
    top: number | string;
    bottom: number | string;
    left: number | string;
    right: number | string;
};
export type PageProperties = {
    singlePage?: boolean;
    size?: PageSize;
    margins?: PageMargins;
    preferCssPageSize?: boolean;
    printBackground?: boolean;
    omitBackground?: boolean;
    landscape?: boolean;
    scale?: number;
    nativePageRanges?: {
        from: number;
        to: number;
    };
};
export type ConversionOptions = ChromiumOptions & {
    properties?: PageProperties;
    /**
     * @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for pdfFormat.
     * @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
     */
    pdfFormat?: PdfFormat;
    pdfUA?: boolean;
    /**
     * @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for userAgent.
     * @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
     */
    userAgent?: string;
    metadata?: Metadata;
    cookies?: Cookie[];
    split?: Split;
    userPassword?: string;
    ownerPassword?: string;
    embeds?: PathLikeOrReadStream[];
    /** PDF-engine post-processing watermark (behind content) */
    watermark?: PdfEngineWatermark;
    /** PDF-engine post-processing stamp (on top of content) */
    stamp?: PdfEngineStamp;
    /** PDF-engine post-process page rotation */
    rotate?: PdfEngineRotate;
};
export type HtmlConversionOptions = ConversionOptions & {
    html: PathLikeOrReadStream;
    assets?: {
        file: PathLikeOrReadStream;
        name: string;
    }[];
    header?: PathLikeOrReadStream;
    footer?: PathLikeOrReadStream;
};
export type UrlConversionOptions = ConversionOptions & {
    url: string;
    header?: PathLikeOrReadStream;
    footer?: PathLikeOrReadStream;
};
export type MarkdownConversionOptions = ConversionOptions & {
    html: PathLikeOrReadStream;
    header?: PathLikeOrReadStream;
    footer?: PathLikeOrReadStream;
    markdown: PathLikeOrReadStream;
};
export {};
