/**************************************************************************
 * IMPORTS
 ***************************************************************************/
import BaseResource from "./BaseResource";
/**************************************************************************
 * TYPES
 ***************************************************************************/
export type WebsiteBatchConversationsOperation = {
    inbox_id?: string;
    sessions?: string[];
};
export type WebsiteBatchReportOperation = {
    sessions: string[];
    flag: string;
};
export type WebsiteBatchBlockOperation = {
    sessions: string[];
    blocked: boolean;
};
export type WebsiteBatchRoutingOperationAssigned = {
    user_id: string;
};
export type WebsiteBatchRoutingOperation = {
    sessions: string[];
    assigned: WebsiteBatchRoutingOperationAssigned | null;
};
export type WebsiteBatchInboxOperation = {
    sessions: string[];
    inbox_id: string | null;
};
export type WebsiteBatchPeopleOperationInner = {
    profiles?: string[];
    search?: string;
};
export type WebsiteBatchDataPayload = Record<string, string | number | boolean>;
export type WebsiteBatchConversationsDataOperation = {
    sessions: string[];
    data: WebsiteBatchDataPayload;
};
export type WebsiteBatchConversationsSegmentsOperation = {
    sessions: string[];
    segments: string[];
};
/**************************************************************************
 * CLASSES
 ***************************************************************************/
/**
 * Crisp WebsiteBatch Resource
 */
declare class WebsiteBatch extends BaseResource {
    /**
     * Batch Resolve Conversations
     */
    batchResolveConversations(websiteID: string, operation: WebsiteBatchConversationsOperation): Promise<any>;
    /**
     * Batch Unresolve Conversations
     */
    batchUnresolveConversations(websiteID: string, operation: WebsiteBatchConversationsOperation): Promise<any>;
    /**
     * Batch Read Conversations
     * @memberof WebsiteBatch
     * @public
     * @method batchReadConversations
     * @param {string} websiteID
     * @param {object} operation
     * @return {Promise}
     */
    batchReadConversations(websiteID: string, operation: WebsiteBatchConversationsOperation): Promise<any>;
    /**
     * Batch Unread Conversations
     */
    batchUnreadConversations(websiteID: string, operation: WebsiteBatchConversationsOperation): Promise<any>;
    /**
     * Batch Remove Conversations
     * @memberof WebsiteBatch
     * @public
     * @method batchRemoveConversations
     * @param {string} websiteID
     * @param {object} operation
     * @return {Promise}
     */
    batchRemoveConversations(websiteID: string, operation: WebsiteBatchConversationsOperation): Promise<any>;
    /**
     * Batch Remove People
     * @memberof WebsiteBatch
     * @public
     * @method batchRemovePeople
     * @param {string} websiteID
     * @param {object} people
     * @return {Promise}
     */
    batchRemovePeople(websiteID: string, people: WebsiteBatchPeopleOperationInner): Promise<any>;
    /**
     * Batch Report Conversations
     */
    batchReportConversations(websiteID: string, operation: WebsiteBatchReportOperation): Promise<any>;
    /**
     * Batch Block Conversations
     */
    batchBlockConversations(websiteID: string, operation: WebsiteBatchBlockOperation): Promise<any>;
    /**
     * Batch Routing Conversations
     */
    batchRoutingConversations(websiteID: string, operation: WebsiteBatchRoutingOperation): Promise<any>;
    /**
     * Batch Inbox Conversations
     */
    batchInboxConversations(websiteID: string, operation: WebsiteBatchInboxOperation): Promise<any>;
    /**
     * Batch Update Conversations Data
     */
    batchUpdateConversationsData(websiteID: string, operation: WebsiteBatchConversationsDataOperation): Promise<any>;
    /**
     * Batch Update People Data
     */
    batchUpdatePeopleData(websiteID: string, people: WebsiteBatchPeopleOperationInner, data: WebsiteBatchDataPayload): Promise<any>;
    /**
     * Batch Update Conversations Segments
     */
    batchUpdateConversationsSegments(websiteID: string, operation: WebsiteBatchConversationsSegmentsOperation): Promise<any>;
    /**
     * Batch Update People Segments
     */
    batchUpdatePeopleSegments(websiteID: string, people: WebsiteBatchPeopleOperationInner, segments: string[]): Promise<any>;
}
/**************************************************************************
 * EXPORTS
 ***************************************************************************/
export default WebsiteBatch;
