/**
 */
import * as $Util from '@alicloud/tea-util';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import * as $tea from '@alicloud/tea-typescript';
export declare class UnionIdPrivateDataMapValue extends $tea.Model {
    cardParamMap?: {
        [key: string]: string;
    };
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UserIdPrivateDataMapValue extends $tea.Model {
    cardParamMap?: {
        [key: string]: string;
    };
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CloseTopboxHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CloseTopboxRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 1
     */
    conversationType?: number;
    /**
     * @example
     * COOLAPP-x-xxx
     */
    coolAppCode?: string;
    /**
     * @example
     * 6dx-xxx-xxx
     */
    groupTemplateId?: string;
    /**
     * @example
     * cidxxxxx==
     */
    openConversationId?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 123xxx
     */
    outTrackId?: string;
    /**
     * @example
     * dingxxx
     */
    robotCode?: string;
    /**
     * @example
     * jHsR7xxx
     */
    unoinId?: string;
    /**
     * @example
     * 011xxx
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CloseTopboxResponseBody extends $tea.Model {
    success?: boolean;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CloseTopboxResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: CloseTopboxResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateCoupleGroupHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateCoupleGroupRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 8d42****nkld
     */
    groupTemplateId?: string;
    /**
     * @example
     * 1745****8777
     */
    operatorId?: string;
    users?: CreateCoupleGroupRequestUsers[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateCoupleGroupResponseBody extends $tea.Model {
    appUserIds?: string[];
    /**
     * @example
     * cidX********xaw==
     */
    conversationId?: string;
    /**
     * @example
     * 14da****2760
     */
    openConversationId?: string;
    userIds?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateCoupleGroupResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: CreateCoupleGroupResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateGroupHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateGroupRequest extends $tea.Model {
    /**
     * @example
     * http://***.png
     */
    groupAvatar?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 客户群
     */
    groupName?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 8d42****nkld
     */
    groupTemplateId?: string;
    /**
     * @example
     * 1745****8777
     */
    operatorId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    users?: CreateGroupRequestUsers[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateGroupResponseBody extends $tea.Model {
    appUserIds?: string[];
    /**
     * @example
     * cidX********xaw==
     */
    conversationId?: string;
    /**
     * @example
     * 14da****2760
     */
    openConversationId?: string;
    userIds?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateGroupResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: CreateGroupResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateTopboxHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateTopboxRequest extends $tea.Model {
    /**
     * @example
     * abcxxx
     */
    callbackRouteKey?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    cardData?: CreateTopboxRequestCardData;
    cardSettings?: CreateTopboxRequestCardSettings;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 56xxx-xxx
     */
    cardTemplateId?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 1
     */
    conversationType?: number;
    /**
     * @example
     * COOLAPP-x-xxx
     */
    coolAppCode?: string;
    /**
     * @example
     * 1850042969000
     */
    expiredTime?: number;
    /**
     * @example
     * xxx-xxx-xxx
     */
    groupTemplateId?: string;
    /**
     * @example
     * cidxxxxx==
     */
    openConversationId?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 123xxx
     */
    outTrackId?: string;
    /**
     * @example
     * ios|win
     */
    platforms?: string;
    receiverUnionIdList?: string[];
    receiverUserIdList?: string[];
    /**
     * @example
     * dingxxx
     */
    robotCode?: string;
    /**
     * @example
     * jHsR7xxx
     */
    unionId?: string;
    unionIdPrivateDataMap?: {
        [key: string]: UnionIdPrivateDataMapValue;
    };
    /**
     * @example
     * 011xxx
     */
    userId?: string;
    userIdPrivateDataMap?: {
        [key: string]: UserIdPrivateDataMapValue;
    };
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateTopboxResponseBody extends $tea.Model {
    success?: boolean;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateTopboxResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: CreateTopboxResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GroupManagerDeviceMarketResponseBody extends $tea.Model {
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GroupManagerDeviceMarketResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GroupManagerDeviceMarketResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateCoupleGroupRequestUsers extends $tea.Model {
    /**
     * @example
     * 1107****2120
     */
    appUserId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    groupOwner?: boolean;
    /**
     * @example
     * 1745****8778
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateGroupRequestUsers extends $tea.Model {
    /**
     * @example
     * 1107****2120
     */
    appUserId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    groupOwner?: boolean;
    /**
     * @example
     * 1745****8778
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateTopboxRequestCardData extends $tea.Model {
    cardParamMap?: {
        [key: string]: string;
    };
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateTopboxRequestCardSettings extends $tea.Model {
    pullStrategy?: boolean;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export default class Client extends OpenApi {
    constructor(config: $OpenApi.Config);
    /**
     * 关闭互动卡片吊顶
     *
     * @param request - CloseTopboxRequest
     * @param headers - CloseTopboxHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CloseTopboxResponse
     */
    closeTopboxWithOptions(request: CloseTopboxRequest, headers: CloseTopboxHeaders, runtime: $Util.RuntimeOptions): Promise<CloseTopboxResponse>;
    /**
     * 关闭互动卡片吊顶
     *
     * @param request - CloseTopboxRequest
     * @returns CloseTopboxResponse
     */
    closeTopbox(request: CloseTopboxRequest): Promise<CloseTopboxResponse>;
    /**
     * 创建两人群
     *
     * @param request - CreateCoupleGroupRequest
     * @param headers - CreateCoupleGroupHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateCoupleGroupResponse
     */
    createCoupleGroupWithOptions(request: CreateCoupleGroupRequest, headers: CreateCoupleGroupHeaders, runtime: $Util.RuntimeOptions): Promise<CreateCoupleGroupResponse>;
    /**
     * 创建两人群
     *
     * @param request - CreateCoupleGroupRequest
     * @returns CreateCoupleGroupResponse
     */
    createCoupleGroup(request: CreateCoupleGroupRequest): Promise<CreateCoupleGroupResponse>;
    /**
     * 创建普通群
     *
     * @param request - CreateGroupRequest
     * @param headers - CreateGroupHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateGroupResponse
     */
    createGroupWithOptions(request: CreateGroupRequest, headers: CreateGroupHeaders, runtime: $Util.RuntimeOptions): Promise<CreateGroupResponse>;
    /**
     * 创建普通群
     *
     * @param request - CreateGroupRequest
     * @returns CreateGroupResponse
     */
    createGroup(request: CreateGroupRequest): Promise<CreateGroupResponse>;
    /**
     * 创建并开启互动卡片吊顶
     *
     * @param request - CreateTopboxRequest
     * @param headers - CreateTopboxHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateTopboxResponse
     */
    createTopboxWithOptions(request: CreateTopboxRequest, headers: CreateTopboxHeaders, runtime: $Util.RuntimeOptions): Promise<CreateTopboxResponse>;
    /**
     * 创建并开启互动卡片吊顶
     *
     * @param request - CreateTopboxRequest
     * @returns CreateTopboxResponse
     */
    createTopbox(request: CreateTopboxRequest): Promise<CreateTopboxResponse>;
    /**
     * 群设备市场管理
     *
     * @param headers - map
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GroupManagerDeviceMarketResponse
     */
    groupManagerDeviceMarketWithOptions(headers: {
        [key: string]: string;
    }, runtime: $Util.RuntimeOptions): Promise<GroupManagerDeviceMarketResponse>;
    /**
     * 群设备市场管理
     * @returns GroupManagerDeviceMarketResponse
     */
    groupManagerDeviceMarket(): Promise<GroupManagerDeviceMarketResponse>;
}
