import React from 'react';
export interface AttachmentJSON {
    content: string;
    filename: string;
    type?: string;
    disposition?: string;
    contentId?: string;
}
export declare type Person = string | {
    email: string;
    name?: string;
};
export declare abstract class Mailable {
    abstract view(): Promise<React.ReactElement<any, string | React.JSXElementConstructor<any>>> | React.ReactElement<any, string | React.JSXElementConstructor<any>>;
    abstract subject: string;
    abstract from: Person;
    maxImageWidth: number;
    categories(): string[];
    customArgs(): Record<string, string>;
    attachments(): Promise<AttachmentJSON[]>;
    css(): Promise<string> | string;
    defaultCss(): string;
    render(): Promise<string>;
}
