import { PDFServicesJobParams } from "../PDFServicesJobParams";
import { CombinePDFJobInput } from "../../../internal/params/CombinePDFJobInput";
import { Asset } from "../../../io/Asset";
import { PageRanges } from "../PageRanges";
/**
 * Parameters for replacing pages of a PDF using {@link ReplacePagesJob}.
 */
export declare class ReplacePagesParams implements PDFServicesJobParams {
    private readonly _assetsToReplace;
    private readonly _baseAsset;
    /**
     * Constructs a new `ReplacePagesParams` instance.
     *
     * @param baseAsset - The base asset to be used for replacing pages. Cannot be undefined.
     */
    constructor(baseAsset: Asset);
    /**
     * @internal Used internally by this SDK, not intended to be called by clients.
     */
    get assetsToReplace(): Map<number, CombinePDFJobInput>;
    /**
     * Returns the base PDF {@link Asset} to which pages will be replaced.
     *
     * @returns an {@link Asset} instance
     */
    get baseAsset(): Asset;
    /**
     * Adds the specified pages of the input PDF file to be replaced at the specified page of the base PDF file
     *
     * This method can be invoked multiple times with the same or different input PDF files.
     *
     * @param params - The parameters for adding pages to be replaced.
     * @param params.asset - The PDF file for insertion. Cannot be undefined.
     * @param [params.pageRanges] - The page ranges of the input PDF file. If not specified, all pages are included.
     * @param params.basePage - The page of the base PDF file. Cannot be undefined.
     * @returns this `ReplacePagesParams` instance.
     */
    addPagesForReplace(params: {
        asset: Asset;
        pageRanges?: PageRanges;
        basePage: number;
    }): ReplacePagesParams;
    /**
     * @hidden
     */
    validate(): void;
}
