import { BaseAPIRequestFactory } from './baseapi';
import { Configuration } from '../configuration';
import { RequestContext, ResponseContext, HttpInfo } from '../http/http';
import { AbTestCreateRequestVNext } from '../models/AbTestCreateRequestVNext';
import { CollectionResponseWithTotalPublicEmailForwardPaging } from '../models/CollectionResponseWithTotalPublicEmailForwardPaging';
import { CollectionResponseWithTotalVersionPublicEmail } from '../models/CollectionResponseWithTotalVersionPublicEmail';
import { ContentCloneRequestVNext } from '../models/ContentCloneRequestVNext';
import { EmailCreateRequest } from '../models/EmailCreateRequest';
import { EmailUpdateRequest } from '../models/EmailUpdateRequest';
import { PublicEmail } from '../models/PublicEmail';
import { VersionPublicEmail } from '../models/VersionPublicEmail';
export declare class MarketingEmailsApiRequestFactory extends BaseAPIRequestFactory {
    archive(emailId: string, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    clone(contentCloneRequestVNext: ContentCloneRequestVNext, _options?: Configuration): Promise<RequestContext>;
    create(emailCreateRequest: EmailCreateRequest, _options?: Configuration): Promise<RequestContext>;
    createAbTestVariation(abTestCreateRequestVNext: AbTestCreateRequestVNext, _options?: Configuration): Promise<RequestContext>;
    getAbTestVariation(emailId: string, _options?: Configuration): Promise<RequestContext>;
    getById(emailId: string, includeStats?: boolean, marketingCampaignNames?: boolean, workflowNames?: boolean, includedProperties?: Array<string>, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    getDraft(emailId: string, _options?: Configuration): Promise<RequestContext>;
    getPage(createdAt?: Date, createdAfter?: Date, createdBefore?: Date, updatedAt?: Date, updatedAfter?: Date, updatedBefore?: Date, sort?: Array<string>, after?: string, limit?: number, includeStats?: boolean, marketingCampaignNames?: boolean, workflowNames?: boolean, type?: 'AB_EMAIL' | 'BATCH_EMAIL' | 'LOCALTIME_EMAIL' | 'AUTOMATED_AB_EMAIL' | 'BLOG_EMAIL' | 'BLOG_EMAIL_CHILD' | 'RSS_EMAIL' | 'RSS_EMAIL_CHILD' | 'RESUBSCRIBE_EMAIL' | 'OPTIN_EMAIL' | 'OPTIN_FOLLOWUP_EMAIL' | 'AUTOMATED_EMAIL' | 'FEEDBACK_CES_EMAIL' | 'FEEDBACK_CUSTOM_EMAIL' | 'FEEDBACK_CUSTOM_SURVEY_EMAIL' | 'FEEDBACK_NPS_EMAIL' | 'FOLLOWUP_EMAIL' | 'LEADFLOW_EMAIL' | 'SINGLE_SEND_API' | 'MARKETING_SINGLE_SEND_API' | 'SMTP_TOKEN' | 'TICKET_EMAIL' | 'MEMBERSHIP_REGISTRATION_EMAIL' | 'MEMBERSHIP_PASSWORD_SAVED_EMAIL' | 'MEMBERSHIP_PASSWORD_RESET_EMAIL' | 'MEMBERSHIP_EMAIL_VERIFICATION_EMAIL' | 'MEMBERSHIP_PASSWORDLESS_AUTH_EMAIL' | 'MEMBERSHIP_REGISTRATION_FOLLOW_UP_EMAIL' | 'MEMBERSHIP_OTP_LOGIN_EMAIL' | 'MEMBERSHIP_FOLLOW_UP_EMAIL' | 'MEMBERSHIP_VERIFICATION_EMAIL', isPublished?: boolean, includedProperties?: Array<string>, campaign?: string, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    getRevisionById(emailId: string, revisionId: string, _options?: Configuration): Promise<RequestContext>;
    getRevisions(emailId: string, after?: string, before?: string, limit?: number, _options?: Configuration): Promise<RequestContext>;
    publishOrSend(emailId: string, _options?: Configuration): Promise<RequestContext>;
    resetDraft(emailId: string, _options?: Configuration): Promise<RequestContext>;
    restoreDraftRevision(emailId: string, revisionId: number, _options?: Configuration): Promise<RequestContext>;
    restoreRevision(emailId: string, revisionId: string, _options?: Configuration): Promise<RequestContext>;
    unpublishOrCancel(emailId: string, _options?: Configuration): Promise<RequestContext>;
    update(emailId: string, emailUpdateRequest: EmailUpdateRequest, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    upsertDraft(emailId: string, emailUpdateRequest: EmailUpdateRequest, _options?: Configuration): Promise<RequestContext>;
}
export declare class MarketingEmailsApiResponseProcessor {
    archiveWithHttpInfo(response: ResponseContext): Promise<HttpInfo<void>>;
    cloneWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    createWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    createAbTestVariationWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    getAbTestVariationWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    getByIdWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    getDraftWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    getPageWithHttpInfo(response: ResponseContext): Promise<HttpInfo<CollectionResponseWithTotalPublicEmailForwardPaging>>;
    getRevisionByIdWithHttpInfo(response: ResponseContext): Promise<HttpInfo<VersionPublicEmail>>;
    getRevisionsWithHttpInfo(response: ResponseContext): Promise<HttpInfo<CollectionResponseWithTotalVersionPublicEmail>>;
    publishOrSendWithHttpInfo(response: ResponseContext): Promise<HttpInfo<void>>;
    resetDraftWithHttpInfo(response: ResponseContext): Promise<HttpInfo<void>>;
    restoreDraftRevisionWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    restoreRevisionWithHttpInfo(response: ResponseContext): Promise<HttpInfo<void>>;
    unpublishOrCancelWithHttpInfo(response: ResponseContext): Promise<HttpInfo<void>>;
    updateWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
    upsertDraftWithHttpInfo(response: ResponseContext): Promise<HttpInfo<PublicEmail>>;
}
