/// <reference types="node" />
import { IncomingMessage } from 'http';
import { IEmailAddress, ISendgridConfig, ITransactionalPayload } from './ISendgridConfig';
export interface ISendgridderResponse {
    statusCode: number;
    status: string;
    data: string;
    to: {
        count: number;
        emailFirst: IEmailAddress;
        emailLast?: IEmailAddress;
    };
}
export interface IPersonalization {
    to: IEmailAddress;
    data: object;
}
export declare class Sendgridder {
    private readonly _authToken;
    private readonly _config;
    private _debug;
    constructor(config: ISendgridConfig);
    set debug(value: boolean);
    buildPayload(personalizations: IPersonalization[]): ITransactionalPayload;
    sendTransactional(personalization: IPersonalization[]): Promise<ISendgridderResponse>;
    buildDetailedResponse(personalization: IPersonalization[], responseRaw: IncomingMessage, responseData: string): ISendgridderResponse;
}
