import { PDFServicesJobParams } from "../PDFServicesJobParams";
import { CertificateCredentials } from "./CertificateCredentials";
import { FieldOptions } from "./FieldOptions";
import { SignatureFormat } from "./SignatureFormat";
import { DocumentLevelPermission } from "./DocumentLevelPermission";
import { TSAOptions } from "./TSAOptions";
import { AppearanceOptions } from "./AppearanceOptions";
/**
 * Parameters for electronically seal PDFs using {@link PDFElectronicSealJob}.
 */
export declare class PDFElectronicSealParams implements PDFServicesJobParams {
    private readonly _certificateCredentials;
    private readonly _fieldOptions;
    private readonly _signatureFormat?;
    private readonly _documentLevelPermission?;
    private readonly _tsaOptions?;
    private readonly _appearanceOptions?;
    /**
     * Constructs a new `PDFElectronicSealParams` instance.
     *
     * @param params - The parameters for constructing an instance of `PDFElectronicSealParams`.
     * @param [params.signatureFormat] - The signature format to be used for applying electronic seal.
     * Default value is {@link SignatureFormat#PKCS7 PKCS7}.
     * @param [params.documentLevelPermission] - The document level permissions for changes allowed after applying
     * electronic seal. Default value is {@link DocumentLevelPermission#FORM_FILLING FORM_FILLING}.
     * @param params.certificateCredentials - The certificate credentials to be used for applying the electronic seal.
     * Cannot be undefined.
     * @param [params.tsaOptions] - The TSA details to be used for timestamping as per
     * {@link https://www.ietf.org/rfc/rfc3161.txt RFC3161} standards.
     * @param params.sealFieldOptions - The field options to be used for applying the electronic seal.
     * Cannot be undefined.
     * @param [params.sealAppearanceOptions] - The appearance options to be used for applying the electronic seal.
     * Default value is `[NAME, LABELS]`.
     */
    constructor(params: {
        signatureFormat?: SignatureFormat;
        documentLevelPermission?: DocumentLevelPermission;
        certificateCredentials: CertificateCredentials;
        tsaOptions?: TSAOptions;
        sealFieldOptions: FieldOptions;
        sealAppearanceOptions?: AppearanceOptions;
    });
    /**
     * Returns the signature format to be used for applying electronic seal.
     *
     * @returns the signature format to be used for applying electronic seal.
     */
    get signatureFormat(): SignatureFormat | undefined;
    get documentLevelPermission(): DocumentLevelPermission | undefined;
    get certificateCredentials(): CertificateCredentials;
    get tsaOptions(): TSAOptions | undefined;
    get fieldOptions(): FieldOptions;
    get appearanceOptions(): AppearanceOptions | undefined;
}
