/**
 * AskNews API
 * AskNews API
 *
 * The version of the OpenAPI document: 0.18.6
 * Contact: contact@emergentmethods.ai
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import type { CreateNewsletterRequest, NewsletterContactCreateResponse, NewsletterContactRequest, NewsletterContactResponse, NewsletterContactUpdateResponse, NewsletterResponse, PaginatedResponseNewsletterPublicResponse, PaginatedResponseNewsletterResponse, UpdateNewsletterRequest } from '../models/index';
export interface DeleteNewsletterRequest {
    newsletterId: string;
}
export interface DeleteNewsletterContactRequest {
    newsletterId: string;
    contactId: string;
}
export interface GetNewsletterRequest {
    newsletterId: string;
}
export interface GetNewsletterContactRequest {
    newsletterId: string;
    contactId: string;
}
export interface GetNewsletterContactsRequest {
    newsletterId: string;
}
export interface GetPublicNewslettersRequest {
    page?: number;
    perPage?: number;
    all?: boolean;
}
export interface PatchNewsletterContactRequest {
    newsletterId: string;
    contactId: string;
    newsletterContactRequest: NewsletterContactRequest;
}
export interface PostNewsletterRequest {
    createNewsletterRequest: CreateNewsletterRequest;
}
export interface PostNewsletterContactsRequest {
    newsletterId: string;
    newsletterContactRequest: NewsletterContactRequest;
}
export interface PutNewsletterRequest {
    newsletterId: string;
    updateNewsletterRequest: UpdateNewsletterRequest;
}
/**
 *
 */
export declare class NewslettersApi extends runtime.BaseAPI {
    /**
     * Delete a newsletter.
     * Delete a newsletter
     */
    deleteNewsletterRaw(requestParameters: DeleteNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a newsletter.
     * Delete a newsletter
     */
    deleteNewsletter(requestParameters: DeleteNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Delete a newsletter contact.
     * Delete a newsletter contact
     */
    deleteNewsletterContactRaw(requestParameters: DeleteNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a newsletter contact.
     * Delete a newsletter contact
     */
    deleteNewsletterContact(requestParameters: DeleteNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Get a newsletter.
     * Get a newsletter
     */
    getNewsletterRaw(requestParameters: GetNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterResponse>>;
    /**
     * Get a newsletter.
     * Get a newsletter
     */
    getNewsletter(requestParameters: GetNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterResponse>;
    /**
     * Get a newsletter contact.
     * Get a newsletter contact
     */
    getNewsletterContactRaw(requestParameters: GetNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterContactResponse>>;
    /**
     * Get a newsletter contact.
     * Get a newsletter contact
     */
    getNewsletterContact(requestParameters: GetNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterContactResponse>;
    /**
     * Get newsletter contacts.
     * Get newsletter contacts
     */
    getNewsletterContactsRaw(requestParameters: GetNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<NewsletterContactResponse>>>;
    /**
     * Get newsletter contacts.
     * Get newsletter contacts
     */
    getNewsletterContacts(requestParameters: GetNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<NewsletterContactResponse>>;
    /**
     * Get all created newsletters.
     * Get all created newsletters
     */
    getNewslettersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedResponseNewsletterResponse>>;
    /**
     * Get all created newsletters.
     * Get all created newsletters
     */
    getNewsletters(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedResponseNewsletterResponse>;
    /**
     * Get all public newsletters.
     * Get all public newsletters
     */
    getPublicNewslettersRaw(requestParameters: GetPublicNewslettersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedResponseNewsletterPublicResponse>>;
    /**
     * Get all public newsletters.
     * Get all public newsletters
     */
    getPublicNewsletters(requestParameters?: GetPublicNewslettersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedResponseNewsletterPublicResponse>;
    /**
     * Update a newsletter contact.
     * Update a newsletter contact
     */
    patchNewsletterContactRaw(requestParameters: PatchNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterContactUpdateResponse> | runtime.StreamApiResponse>;
    /**
     * Update a newsletter contact.
     * Update a newsletter contact
     */
    patchNewsletterContact(requestParameters: PatchNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterContactUpdateResponse | ReadableStream<any>>;
    /**
     * Create a newsletter.
     * Create a newsletter
     */
    postNewsletterRaw(requestParameters: PostNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterResponse> | runtime.StreamApiResponse>;
    /**
     * Create a newsletter.
     * Create a newsletter
     */
    postNewsletter(requestParameters: PostNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterResponse | ReadableStream<any>>;
    /**
     * Create a newsletter contact.
     * Create a newsletter contact
     */
    postNewsletterContactsRaw(requestParameters: PostNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterContactCreateResponse> | runtime.StreamApiResponse>;
    /**
     * Create a newsletter contact.
     * Create a newsletter contact
     */
    postNewsletterContacts(requestParameters: PostNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterContactCreateResponse | ReadableStream<any>>;
    /**
     * Update a newsletter.
     * Update a newsletter
     */
    putNewsletterRaw(requestParameters: PutNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterResponse> | runtime.StreamApiResponse>;
    /**
     * Update a newsletter.
     * Update a newsletter
     */
    putNewsletter(requestParameters: PutNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterResponse | ReadableStream<any>>;
}
