import { BaseAPIRequestFactory } from './baseapi';
import { Configuration } from '../configuration';
import { RequestContext, ResponseContext } from '../http/http';
import { AttachToLangPrimaryRequestVNext } from '../models/AttachToLangPrimaryRequestVNext';
import { BatchInputBlogPost } from '../models/BatchInputBlogPost';
import { BatchInputJsonNode } from '../models/BatchInputJsonNode';
import { BatchInputString } from '../models/BatchInputString';
import { BatchResponseBlogPost } from '../models/BatchResponseBlogPost';
import { BatchResponseBlogPostWithErrors } from '../models/BatchResponseBlogPostWithErrors';
import { BlogPost } from '../models/BlogPost';
import { BlogPostLanguageCloneRequestVNext } from '../models/BlogPostLanguageCloneRequestVNext';
import { CollectionResponseWithTotalBlogPostForwardPaging } from '../models/CollectionResponseWithTotalBlogPostForwardPaging';
import { CollectionResponseWithTotalVersionBlogPost } from '../models/CollectionResponseWithTotalVersionBlogPost';
import { ContentCloneRequestVNext } from '../models/ContentCloneRequestVNext';
import { ContentScheduleRequestVNext } from '../models/ContentScheduleRequestVNext';
import { DetachFromLangGroupRequestVNext } from '../models/DetachFromLangGroupRequestVNext';
import { SetNewLanguagePrimaryRequestVNext } from '../models/SetNewLanguagePrimaryRequestVNext';
import { UpdateLanguagesRequestVNext } from '../models/UpdateLanguagesRequestVNext';
import { VersionBlogPost } from '../models/VersionBlogPost';
export declare class BlogPostsApiRequestFactory extends BaseAPIRequestFactory {
    archive(objectId: string, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    archiveBatch(batchInputString: BatchInputString, _options?: Configuration): Promise<RequestContext>;
    attachToLangGroup(attachToLangPrimaryRequestVNext: AttachToLangPrimaryRequestVNext, _options?: Configuration): Promise<RequestContext>;
    clone(contentCloneRequestVNext: ContentCloneRequestVNext, _options?: Configuration): Promise<RequestContext>;
    create(blogPost: BlogPost, _options?: Configuration): Promise<RequestContext>;
    createBatch(batchInputBlogPost: BatchInputBlogPost, _options?: Configuration): Promise<RequestContext>;
    createLangVariation(blogPostLanguageCloneRequestVNext: BlogPostLanguageCloneRequestVNext, _options?: Configuration): Promise<RequestContext>;
    detachFromLangGroup(detachFromLangGroupRequestVNext: DetachFromLangGroupRequestVNext, _options?: Configuration): Promise<RequestContext>;
    getById(objectId: string, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    getDraftById(objectId: 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, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    getPreviousVersion(objectId: string, revisionId: string, _options?: Configuration): Promise<RequestContext>;
    getPreviousVersions(objectId: string, after?: string, before?: string, limit?: number, _options?: Configuration): Promise<RequestContext>;
    pushLive(objectId: string, _options?: Configuration): Promise<RequestContext>;
    readBatch(batchInputString: BatchInputString, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    resetDraft(objectId: string, _options?: Configuration): Promise<RequestContext>;
    restorePreviousVersion(objectId: string, revisionId: string, _options?: Configuration): Promise<RequestContext>;
    restorePreviousVersionToDraft(objectId: string, revisionId: number, _options?: Configuration): Promise<RequestContext>;
    schedule(contentScheduleRequestVNext: ContentScheduleRequestVNext, _options?: Configuration): Promise<RequestContext>;
    setLangPrimary(setNewLanguagePrimaryRequestVNext: SetNewLanguagePrimaryRequestVNext, _options?: Configuration): Promise<RequestContext>;
    update(objectId: string, blogPost: BlogPost, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    updateBatch(batchInputJsonNode: BatchInputJsonNode, archived?: boolean, _options?: Configuration): Promise<RequestContext>;
    updateDraft(objectId: string, blogPost: BlogPost, _options?: Configuration): Promise<RequestContext>;
    updateLangs(updateLanguagesRequestVNext: UpdateLanguagesRequestVNext, _options?: Configuration): Promise<RequestContext>;
}
export declare class BlogPostsApiResponseProcessor {
    archive(response: ResponseContext): Promise<void>;
    archiveBatch(response: ResponseContext): Promise<void>;
    attachToLangGroup(response: ResponseContext): Promise<void>;
    clone(response: ResponseContext): Promise<BlogPost>;
    create(response: ResponseContext): Promise<BlogPost>;
    createBatch(response: ResponseContext): Promise<BatchResponseBlogPostWithErrors | BatchResponseBlogPost>;
    createLangVariation(response: ResponseContext): Promise<BlogPost>;
    detachFromLangGroup(response: ResponseContext): Promise<void>;
    getById(response: ResponseContext): Promise<BlogPost>;
    getDraftById(response: ResponseContext): Promise<BlogPost>;
    getPage(response: ResponseContext): Promise<CollectionResponseWithTotalBlogPostForwardPaging>;
    getPreviousVersion(response: ResponseContext): Promise<VersionBlogPost>;
    getPreviousVersions(response: ResponseContext): Promise<CollectionResponseWithTotalVersionBlogPost>;
    pushLive(response: ResponseContext): Promise<void>;
    readBatch(response: ResponseContext): Promise<BatchResponseBlogPostWithErrors | BatchResponseBlogPost>;
    resetDraft(response: ResponseContext): Promise<void>;
    restorePreviousVersion(response: ResponseContext): Promise<BlogPost>;
    restorePreviousVersionToDraft(response: ResponseContext): Promise<BlogPost>;
    schedule(response: ResponseContext): Promise<void>;
    setLangPrimary(response: ResponseContext): Promise<void>;
    update(response: ResponseContext): Promise<BlogPost>;
    updateBatch(response: ResponseContext): Promise<BatchResponseBlogPostWithErrors | BatchResponseBlogPost>;
    updateDraft(response: ResponseContext): Promise<BlogPost>;
    updateLangs(response: ResponseContext): Promise<void>;
}
