/**
 * Elastic Email REST API
 * This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach.    Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used.    The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request.    To start using this API, you will need your Access Token (available <a target=\"_blank\" href=\"https://app.elasticemail.com/marketing/settings/new/manage-api\">here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description.    Downloadable library clients can be found in our Github repository <a target=\"_blank\" href=\"https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme\">here</a>
 *
 * The version of the OpenAPI document: 4.0.0
 * Contact: support@elasticemail.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { RequestArgs, BaseAPI } from '../base';
import { EmailValidationResult } from '../ee-api-models';
import { VerificationFileResult } from '../ee-api-models';
import { VerificationFileResultDetails } from '../ee-api-models';
/**
 * VerificationsApi - axios parameter creator
 * @export
 */
export declare const VerificationsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Delete a result with given email if exists. Required Access Level: VerifyEmails
     * @summary Delete Email Verification Result
     * @param {string} email Email address to verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailDelete: (email: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a result of verified email. Required Access Level: VerifyEmails
     * @summary Get Email Verification Result
     * @param {string} email Email address to view verification result of
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailGet: (email: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Verify single email address and returns result of verification. Required Access Level: VerifyEmails
     * @summary Verify Email
     * @param {string} email Email address to verify
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailPost: (email: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Delete Verification Results if they exist. Required Access Level: VerifyEmails
     * @summary Delete File Verification Result
     * @param {string} id ID of the exported file
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdDelete: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Download verification results as a ZIP file. Required Access Level: VerifyEmails
     * @summary Download File Verification Result
     * @param {string} id Verification ID to download
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdResultDownloadGet: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns status and results (if verified) of file with given ID. Required Access Level: VerifyEmails
     * @summary Get Detailed File Verification Result
     * @param {string} id ID of the Verification to display status of
     * @param {number} [limit] Maximum number of returned email verification results
     * @param {number} [offset] How many result items should be returned ahead
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdResultGet: (id: string, limit?: number, offset?: number, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Start a verification of the previously uploaded file with emails. Required Access Level: VerifyEmails
     * @summary Start verification
     * @param {string} id File ID to start verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdVerificationPost: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Uploads a CSV file with list of emails that can then be triggered for verification. An \'email\' column is required. Required Access Level: VerifyEmails
     * @summary Upload File with Emails
     * @param {File} [file]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesPost: (file?: File, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of uploaded files, their statuses and results. Required Access Level: VerifyEmails
     * @summary Get Files Verification Results
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesResultGet: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a results of all verified single emails. Required Access Level: VerifyEmails
     * @summary Get Emails Verification Results
     * @param {number} [limit] Maximum number of returned items.
     * @param {number} [offset] How many items should be returned ahead.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsGet: (limit?: number, offset?: number, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * VerificationsApi - functional programming interface
 * @export
 */
export declare const VerificationsApiFp: (configuration?: Configuration) => {
    /**
     * Delete a result with given email if exists. Required Access Level: VerifyEmails
     * @summary Delete Email Verification Result
     * @param {string} email Email address to verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailDelete(email: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Returns a result of verified email. Required Access Level: VerifyEmails
     * @summary Get Email Verification Result
     * @param {string} email Email address to view verification result of
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailGet(email: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EmailValidationResult>>;
    /**
     * Verify single email address and returns result of verification. Required Access Level: VerifyEmails
     * @summary Verify Email
     * @param {string} email Email address to verify
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailPost(email: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EmailValidationResult>>;
    /**
     * Delete Verification Results if they exist. Required Access Level: VerifyEmails
     * @summary Delete File Verification Result
     * @param {string} id ID of the exported file
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdDelete(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Download verification results as a ZIP file. Required Access Level: VerifyEmails
     * @summary Download File Verification Result
     * @param {string} id Verification ID to download
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdResultDownloadGet(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<File>>;
    /**
     * Returns status and results (if verified) of file with given ID. Required Access Level: VerifyEmails
     * @summary Get Detailed File Verification Result
     * @param {string} id ID of the Verification to display status of
     * @param {number} [limit] Maximum number of returned email verification results
     * @param {number} [offset] How many result items should be returned ahead
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdResultGet(id: string, limit?: number, offset?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VerificationFileResultDetails>>;
    /**
     * Start a verification of the previously uploaded file with emails. Required Access Level: VerifyEmails
     * @summary Start verification
     * @param {string} id File ID to start verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdVerificationPost(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Uploads a CSV file with list of emails that can then be triggered for verification. An \'email\' column is required. Required Access Level: VerifyEmails
     * @summary Upload File with Emails
     * @param {File} [file]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesPost(file?: File, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VerificationFileResult>>;
    /**
     * Returns a list of uploaded files, their statuses and results. Required Access Level: VerifyEmails
     * @summary Get Files Verification Results
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesResultGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<VerificationFileResult>>>;
    /**
     * Returns a results of all verified single emails. Required Access Level: VerifyEmails
     * @summary Get Emails Verification Results
     * @param {number} [limit] Maximum number of returned items.
     * @param {number} [offset] How many items should be returned ahead.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsGet(limit?: number, offset?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<EmailValidationResult>>>;
};
/**
 * VerificationsApi - factory interface
 * @export
 */
export declare const VerificationsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Delete a result with given email if exists. Required Access Level: VerifyEmails
     * @summary Delete Email Verification Result
     * @param {string} email Email address to verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailDelete(email: string, options?: any): AxiosPromise<void>;
    /**
     * Returns a result of verified email. Required Access Level: VerifyEmails
     * @summary Get Email Verification Result
     * @param {string} email Email address to view verification result of
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailGet(email: string, options?: any): AxiosPromise<EmailValidationResult>;
    /**
     * Verify single email address and returns result of verification. Required Access Level: VerifyEmails
     * @summary Verify Email
     * @param {string} email Email address to verify
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsByEmailPost(email: string, options?: any): AxiosPromise<EmailValidationResult>;
    /**
     * Delete Verification Results if they exist. Required Access Level: VerifyEmails
     * @summary Delete File Verification Result
     * @param {string} id ID of the exported file
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdDelete(id: string, options?: any): AxiosPromise<void>;
    /**
     * Download verification results as a ZIP file. Required Access Level: VerifyEmails
     * @summary Download File Verification Result
     * @param {string} id Verification ID to download
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdResultDownloadGet(id: string, options?: any): AxiosPromise<File>;
    /**
     * Returns status and results (if verified) of file with given ID. Required Access Level: VerifyEmails
     * @summary Get Detailed File Verification Result
     * @param {string} id ID of the Verification to display status of
     * @param {number} [limit] Maximum number of returned email verification results
     * @param {number} [offset] How many result items should be returned ahead
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdResultGet(id: string, limit?: number, offset?: number, options?: any): AxiosPromise<VerificationFileResultDetails>;
    /**
     * Start a verification of the previously uploaded file with emails. Required Access Level: VerifyEmails
     * @summary Start verification
     * @param {string} id File ID to start verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesByIdVerificationPost(id: string, options?: any): AxiosPromise<void>;
    /**
     * Uploads a CSV file with list of emails that can then be triggered for verification. An \'email\' column is required. Required Access Level: VerifyEmails
     * @summary Upload File with Emails
     * @param {File} [file]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesPost(file?: File, options?: any): AxiosPromise<VerificationFileResult>;
    /**
     * Returns a list of uploaded files, their statuses and results. Required Access Level: VerifyEmails
     * @summary Get Files Verification Results
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsFilesResultGet(options?: any): AxiosPromise<Array<VerificationFileResult>>;
    /**
     * Returns a results of all verified single emails. Required Access Level: VerifyEmails
     * @summary Get Emails Verification Results
     * @param {number} [limit] Maximum number of returned items.
     * @param {number} [offset] How many items should be returned ahead.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    verificationsGet(limit?: number, offset?: number, options?: any): AxiosPromise<Array<EmailValidationResult>>;
};
/**
 * VerificationsApi - interface
 * @export
 * @interface VerificationsApi
 */
export interface VerificationsApiInterface {
    /**
     * Delete a result with given email if exists. Required Access Level: VerifyEmails
     * @summary Delete Email Verification Result
     * @param {string} email Email address to verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsByEmailDelete(email: string, options?: AxiosRequestConfig): AxiosPromise<void>;
    /**
     * Returns a result of verified email. Required Access Level: VerifyEmails
     * @summary Get Email Verification Result
     * @param {string} email Email address to view verification result of
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsByEmailGet(email: string, options?: AxiosRequestConfig): AxiosPromise<EmailValidationResult>;
    /**
     * Verify single email address and returns result of verification. Required Access Level: VerifyEmails
     * @summary Verify Email
     * @param {string} email Email address to verify
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsByEmailPost(email: string, options?: AxiosRequestConfig): AxiosPromise<EmailValidationResult>;
    /**
     * Delete Verification Results if they exist. Required Access Level: VerifyEmails
     * @summary Delete File Verification Result
     * @param {string} id ID of the exported file
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsFilesByIdDelete(id: string, options?: AxiosRequestConfig): AxiosPromise<void>;
    /**
     * Download verification results as a ZIP file. Required Access Level: VerifyEmails
     * @summary Download File Verification Result
     * @param {string} id Verification ID to download
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsFilesByIdResultDownloadGet(id: string, options?: AxiosRequestConfig): AxiosPromise<File>;
    /**
     * Returns status and results (if verified) of file with given ID. Required Access Level: VerifyEmails
     * @summary Get Detailed File Verification Result
     * @param {string} id ID of the Verification to display status of
     * @param {number} [limit] Maximum number of returned email verification results
     * @param {number} [offset] How many result items should be returned ahead
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsFilesByIdResultGet(id: string, limit?: number, offset?: number, options?: AxiosRequestConfig): AxiosPromise<VerificationFileResultDetails>;
    /**
     * Start a verification of the previously uploaded file with emails. Required Access Level: VerifyEmails
     * @summary Start verification
     * @param {string} id File ID to start verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsFilesByIdVerificationPost(id: string, options?: AxiosRequestConfig): AxiosPromise<void>;
    /**
     * Uploads a CSV file with list of emails that can then be triggered for verification. An \'email\' column is required. Required Access Level: VerifyEmails
     * @summary Upload File with Emails
     * @param {File} [file]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsFilesPost(file?: File, options?: AxiosRequestConfig): AxiosPromise<VerificationFileResult>;
    /**
     * Returns a list of uploaded files, their statuses and results. Required Access Level: VerifyEmails
     * @summary Get Files Verification Results
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsFilesResultGet(options?: AxiosRequestConfig): AxiosPromise<Array<VerificationFileResult>>;
    /**
     * Returns a results of all verified single emails. Required Access Level: VerifyEmails
     * @summary Get Emails Verification Results
     * @param {number} [limit] Maximum number of returned items.
     * @param {number} [offset] How many items should be returned ahead.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApiInterface
     */
    verificationsGet(limit?: number, offset?: number, options?: AxiosRequestConfig): AxiosPromise<Array<EmailValidationResult>>;
}
/**
 * VerificationsApi - object-oriented interface
 * @export
 * @class VerificationsApi
 * @extends {BaseAPI}
 */
export declare class VerificationsApi extends BaseAPI implements VerificationsApiInterface {
    /**
     * Delete a result with given email if exists. Required Access Level: VerifyEmails
     * @summary Delete Email Verification Result
     * @param {string} email Email address to verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsByEmailDelete(email: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void>>;
    /**
     * Returns a result of verified email. Required Access Level: VerifyEmails
     * @summary Get Email Verification Result
     * @param {string} email Email address to view verification result of
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsByEmailGet(email: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EmailValidationResult>>;
    /**
     * Verify single email address and returns result of verification. Required Access Level: VerifyEmails
     * @summary Verify Email
     * @param {string} email Email address to verify
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsByEmailPost(email: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EmailValidationResult>>;
    /**
     * Delete Verification Results if they exist. Required Access Level: VerifyEmails
     * @summary Delete File Verification Result
     * @param {string} id ID of the exported file
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsFilesByIdDelete(id: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void>>;
    /**
     * Download verification results as a ZIP file. Required Access Level: VerifyEmails
     * @summary Download File Verification Result
     * @param {string} id Verification ID to download
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsFilesByIdResultDownloadGet(id: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<File>>;
    /**
     * Returns status and results (if verified) of file with given ID. Required Access Level: VerifyEmails
     * @summary Get Detailed File Verification Result
     * @param {string} id ID of the Verification to display status of
     * @param {number} [limit] Maximum number of returned email verification results
     * @param {number} [offset] How many result items should be returned ahead
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsFilesByIdResultGet(id: string, limit?: number, offset?: number, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VerificationFileResultDetails>>;
    /**
     * Start a verification of the previously uploaded file with emails. Required Access Level: VerifyEmails
     * @summary Start verification
     * @param {string} id File ID to start verification
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsFilesByIdVerificationPost(id: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void>>;
    /**
     * Uploads a CSV file with list of emails that can then be triggered for verification. An \'email\' column is required. Required Access Level: VerifyEmails
     * @summary Upload File with Emails
     * @param {File} [file]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsFilesPost(file?: File, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VerificationFileResult>>;
    /**
     * Returns a list of uploaded files, their statuses and results. Required Access Level: VerifyEmails
     * @summary Get Files Verification Results
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsFilesResultGet(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VerificationFileResult[]>>;
    /**
     * Returns a results of all verified single emails. Required Access Level: VerifyEmails
     * @summary Get Emails Verification Results
     * @param {number} [limit] Maximum number of returned items.
     * @param {number} [offset] How many items should be returned ahead.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VerificationsApi
     */
    verificationsGet(limit?: number, offset?: number, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EmailValidationResult[]>>;
}
