/**
 * LINE Messaging API
 * This document describes LINE Messaging API.
 *
 * The version of the OpenAPI document: 0.0.1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { AddAudienceToAudienceGroupRequest } from "../model/addAudienceToAudienceGroupRequest";
import { AudienceGroupCreateRoute } from "../model/audienceGroupCreateRoute";
import { AudienceGroupStatus } from "../model/audienceGroupStatus";
import { CreateAudienceGroupRequest } from "../model/createAudienceGroupRequest";
import { CreateAudienceGroupResponse } from "../model/createAudienceGroupResponse";
import { CreateClickBasedAudienceGroupRequest } from "../model/createClickBasedAudienceGroupRequest";
import { CreateClickBasedAudienceGroupResponse } from "../model/createClickBasedAudienceGroupResponse";
import { CreateImpBasedAudienceGroupRequest } from "../model/createImpBasedAudienceGroupRequest";
import { CreateImpBasedAudienceGroupResponse } from "../model/createImpBasedAudienceGroupResponse";
import { GetAudienceDataResponse } from "../model/getAudienceDataResponse";
import { GetAudienceGroupAuthorityLevelResponse } from "../model/getAudienceGroupAuthorityLevelResponse";
import { GetAudienceGroupsResponse } from "../model/getAudienceGroupsResponse";
import { UpdateAudienceGroupAuthorityLevelRequest } from "../model/updateAudienceGroupAuthorityLevelRequest";
import { UpdateAudienceGroupDescriptionRequest } from "../model/updateAudienceGroupDescriptionRequest";
import * as Types from "../../types";
interface httpClientConfig {
    baseURL?: string;
    channelAccessToken: string;
}
export declare class ManageAudienceClient {
    private httpClient;
    constructor(config: httpClientConfig);
    private parseHTTPResponse;
    /**
     * Activate audience
     * @param audienceGroupId The audience ID.
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#activate-audience-group"> Documentation</a>
     */
    activateAudienceGroup(audienceGroupId: number): Promise<Types.MessageAPIResponseBase>;
    /**
     * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by JSON)
     * @param addAudienceToAudienceGroupRequest
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group"> Documentation</a>
     */
    addAudienceToAudienceGroup(addAudienceToAudienceGroupRequest: AddAudienceToAudienceGroupRequest): Promise<Types.MessageAPIResponseBase>;
    /**
     * Create audience for uploading user IDs (by JSON)
     * @param createAudienceGroupRequest
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group"> Documentation</a>
     */
    createAudienceGroup(createAudienceGroupRequest: CreateAudienceGroupRequest): Promise<CreateAudienceGroupResponse>;
    /**
     * Create audience for click-based retargeting
     * @param createClickBasedAudienceGroupRequest
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-click-audience-group"> Documentation</a>
     */
    createClickBasedAudienceGroup(createClickBasedAudienceGroupRequest: CreateClickBasedAudienceGroupRequest): Promise<CreateClickBasedAudienceGroupResponse>;
    /**
     * Create audience for impression-based retargeting
     * @param createImpBasedAudienceGroupRequest
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-imp-audience-group"> Documentation</a>
     */
    createImpBasedAudienceGroup(createImpBasedAudienceGroupRequest: CreateImpBasedAudienceGroupRequest): Promise<CreateImpBasedAudienceGroupResponse>;
    /**
     * Delete audience
     * @param audienceGroupId The audience ID.
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#delete-audience-group"> Documentation</a>
     */
    deleteAudienceGroup(audienceGroupId: number): Promise<Types.MessageAPIResponseBase>;
    /**
     * Gets audience data.
     * @param audienceGroupId The audience ID.
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-audience-group"> Documentation</a>
     */
    getAudienceData(audienceGroupId: number): Promise<GetAudienceDataResponse>;
    /**
     * Get the authority level of the audience
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-authority-level"> Documentation</a>
     */
    getAudienceGroupAuthorityLevel(): Promise<GetAudienceGroupAuthorityLevelResponse>;
    /**
     * Gets data for more than one audience.
     * @param page The page to return when getting (paginated) results. Must be 1 or higher.
     * @param description The name of the audience(s) to return. You can search for partial matches. This is case-insensitive, meaning AUDIENCE and audience are considered identical. If omitted, the name of the audience(s) will not be used as a search criterion.
     * @param status The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion.
     * @param size The number of audiences per page. Default: 20 Max: 40
     * @param includesExternalPublicGroups true (default): Get public audiences created in all channels linked to the same bot. false: Get audiences created in the same channel.
     * @param createRoute How the audience was created. If omitted, all audiences are included.  `OA_MANAGER`: Return only audiences created with LINE Official Account Manager (opens new window). `MESSAGING_API`: Return only audiences created with Messaging API.
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-audience-groups"> Documentation</a>
     */
    getAudienceGroups(page: number, description?: string, status?: AudienceGroupStatus, size?: number, includesExternalPublicGroups?: boolean, createRoute?: AudienceGroupCreateRoute): Promise<GetAudienceGroupsResponse>;
    /**
     * Change the authority level of the audience
     * @param updateAudienceGroupAuthorityLevelRequest
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#change-authority-level"> Documentation</a>
     */
    updateAudienceGroupAuthorityLevel(updateAudienceGroupAuthorityLevelRequest: UpdateAudienceGroupAuthorityLevelRequest): Promise<Types.MessageAPIResponseBase>;
    /**
     * Renames an existing audience.
     * @param audienceGroupId The audience ID.
     * @param updateAudienceGroupDescriptionRequest
     *
     * @see <a href="https://developers.line.biz/en/reference/messaging-api/#set-description-audience-group"> Documentation</a>
     */
    updateAudienceGroupDescription(audienceGroupId: number, updateAudienceGroupDescriptionRequest: UpdateAudienceGroupDescriptionRequest): Promise<Types.MessageAPIResponseBase>;
}
export {};
