import { AbstractProvider, AbstractSigner, Eip1193Provider } from 'ethers';
import { Contact, FetchUserContactsParams, SendEmailParams, Web3MailConfigOptions, SendEmailResponse, Web3SignerProvider, FetchMyContactsParams } from './types.js';
type EthersCompatibleProvider = AbstractProvider | AbstractSigner | Eip1193Provider | Web3SignerProvider | string;
export declare class IExecWeb3mail {
    private dappAddressOrENS;
    private dappWhitelistAddress;
    private graphQLClient;
    private ipfsNode;
    private ipfsGateway;
    private defaultWorkerpool;
    private iexec;
    private initPromise;
    private ethProvider;
    private options;
    constructor(ethProvider?: EthersCompatibleProvider, options?: Web3MailConfigOptions);
    init(): Promise<void>;
    fetchMyContacts(args?: FetchMyContactsParams): Promise<Contact[]>;
    fetchUserContacts(args: FetchUserContactsParams): Promise<Contact[]>;
    sendEmail(args: SendEmailParams): Promise<SendEmailResponse>;
    private resolveConfig;
}
export {};
