import MailerDelivery from "./delivery.js"; /** * Base mailer with view rendering and delivery helpers. */ export declare class VelociousMailerBase { _actionName: string | null; _mailOptions: { to: any; subject: string; from: any; cc: any; bcc: any; replyTo: any; headers: Record | undefined; } | null; _viewParams: {}; _configurationPromise: Promise; /** * Runs constructor. * @param {object} [args] - Constructor args. * @param {import("../configuration.js").default} [args.configuration] - Configuration instance. */ constructor({ configuration }?: { configuration?: import("../configuration.js").default; }); /** * Runs assign view. * @param {Record>} params - View params. * @returns {void} - No return value. */ assignView(params: Record>): void; /** * Runs mail. * @param {object} args - Mail options. * @param {ReturnType} args.to - Recipient. * @param {string} args.subject - Subject line. * @param {ReturnType} [args.from] - Sender. * @param {ReturnType} [args.cc] - CC recipients. * @param {ReturnType} [args.bcc] - BCC recipients. * @param {ReturnType} [args.replyTo] - Reply-to address. * @param {Record} [args.headers] - Custom headers. * @param {string} [args.actionName] - Mailer action name. * @param {Promise> | ReturnType} [args.actionPromise] - Action completion promise. * @returns {MailerDelivery} - Delivery wrapper. */ mail({ to, subject, from, cc, bcc, replyTo, headers, actionName, actionPromise, ...restArgs }: { to: ReturnType; subject: string; from?: ReturnType; cc?: ReturnType; bcc?: ReturnType; replyTo?: ReturnType; headers?: Record; actionName?: string; actionPromise?: Promise> | ReturnType; }): MailerDelivery; /** * Runs get configuration. * @returns {Promise} - Configuration instance. */ _getConfiguration(): Promise; /** * Runs get action name. * @returns {string} - Action name. */ _getActionName(): string; /** * Runs build payload sync. * @param {string} html - Rendered HTML. * @returns {import("./index.js").MailerDeliveryPayload} - Delivery payload. */ _buildPayloadSync(html: string): import("./index.js").MailerDeliveryPayload; /** * Runs build payload. * @returns {Promise} - Delivery payload. */ _buildPayload(): Promise; /** * Runs render view. * @returns {Promise} - Rendered HTML. */ _renderView(): Promise; /** * Runs deliver payload. * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload. * @returns {Promise>} - Handler result. */ _deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise>; /** * Runs enqueue payload. * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload. * @param {import("./index.js").MailerDeliveryLaterOptions} [options] - Delivery execution options. * @returns {Promise} - Job id or payload in test mode. */ _enqueuePayload(payload: import("./index.js").MailerDeliveryPayload, options?: import("./index.js").MailerDeliveryLaterOptions): Promise; } /** * Runs the deliveries helper. * @returns {import("./index.js").MailerDeliveryPayload[]} - Delivered payloads. */ export declare function deliveries(): import("./index.js").MailerDeliveryPayload[]; /** * Runs the clearDeliveries helper. * @returns {void} - No return value. */ export declare function clearDeliveries(): void; /** * Runs the setDeliveryHandler helper. * @param {(payload: import("./index.js").MailerDeliveryPayload) => Promise> | ReturnType} handler - Delivery handler. * @returns {void} - No return value. */ export declare function setDeliveryHandler(handler: (payload: import("./index.js").MailerDeliveryPayload) => Promise> | ReturnType): void; /** * Runs the getDeliveryHandler helper. * @returns {((payload: import("./index.js").MailerDeliveryPayload) => Promise> | ReturnType) | null} - Handler or null. */ export declare function getDeliveryHandler(): ((payload: import("./index.js").MailerDeliveryPayload) => Promise> | ReturnType) | null; /** * Runs the deliverPayload helper. * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload. * @returns {Promise>} - Handler result. */ export declare function deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise>; /** * Runs the enqueuePayload helper. * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload. * @param {object} [options] - Enqueue options. * @param {import("../configuration.js").default} [options.configuration] - Owning configuration. * @param {import("./index.js").MailerDeliveryOperationRequest} [options.deliveryOperation] - Required provider-backed operation. * @returns {Promise} - Job id or payload in test mode. */ export declare function enqueuePayload(payload: import("./index.js").MailerDeliveryPayload, { configuration: suppliedConfiguration, deliveryOperation }?: { configuration?: import("../configuration.js").default; deliveryOperation?: import("./index.js").MailerDeliveryOperationRequest; }): Promise; //# sourceMappingURL=base.d.ts.map