import * as http2 from 'node:http2';
import { type KeyObject } from 'node:crypto';
import { Pass } from './pass.js';
import type { PassStyle, ApplePass, Options } from './interfaces.js';
import { PassBase } from './lib/base-pass.js';
import type { PassImages } from './lib/images.js';
import type { Localizations } from './lib/localizations.js';
import { type Personalization } from './lib/personalization.js';
export declare class Template extends PassBase {
    key?: KeyObject;
    certificate?: string;
    private apn?;
    constructor(style?: PassStyle, fields?: Partial<ApplePass>, images?: PassImages, localization?: Localizations, options?: Options, personalization?: Personalization);
    /**
     * Load a Template, images, and key from a trusted directory on disk.
     *
     * Do not pass attacker-controlled template folders. Loading untrusted
     * pass bundles can force excessive memory allocation and may crash or stall
     * the process.
     */
    static load(folderPath: string, keyPassword?: string, options?: Options): Promise<Template>;
    /**
     * Reconstruct a Template from a trusted pre-zipped buffer (e.g. a .pkpass
     * fetched from S3). Reads pass.json, images, and localization strings out of
     * the bundle.
     *
     * Do not pass attacker-controlled ZIP or .pkpass buffers. Loading untrusted
     * pass bundles can force excessive memory allocation and may crash or stall
     * the process.
     */
    static fromBuffer(buffer: Buffer, options?: Options): Promise<Template>;
    setPrivateKey(pem: string, password?: string): void;
    setCertificate(pem: string, password?: string): void;
    loadCertificate(signerPemFile: string, password?: string): Promise<void>;
    pushUpdates(pushToken: string): Promise<http2.IncomingHttpHeaders>;
    createPass(fields?: Partial<ApplePass>): Pass;
}
//# sourceMappingURL=template.d.ts.map