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