import { GetOptions, PostOptions, PutOptions } from './common/interfaces';
import { ApiKeys } from './api-keys/api-keys';
import { Domains } from './domains/domains';
import { Emails } from './emails/emails';
import { CreateEmailOptions, CreateEmailResponse } from './emails/interfaces';
export declare class Resend {
    readonly key?: string | undefined;
    private readonly headers;
    readonly apiKeys: ApiKeys;
    readonly domains: Domains;
    readonly emails: Emails;
    constructor(key?: string | undefined);
    fetchRequest(path: string, options?: {}): Promise<any>;
    post<T>(path: string, entity?: any, options?: PostOptions): Promise<T>;
    get<T>(path: string, options?: GetOptions): Promise<T>;
    put<T>(path: string, entity: any, options?: PutOptions): Promise<T>;
    delete<T>(path: string, query?: any): Promise<T>;
    sendEmail(data: CreateEmailOptions): Promise<CreateEmailResponse>;
}
