import { EnumBooleanStringified, EnumCurrency, JSONString } from "../@types"; import { IBACKENDPAYLOAD } from "./backend"; import { ACTION } from "./command/action"; import { baseParamsType } from "./command/baseparams"; import { ICOMMAND, IKeyMaybeValue, IKeyValue, IRESPONSE, RESULT } from "./command/icommand"; import { channelIdType, EnumProductId } from "./channel"; import { IB2BUserInfo, IB2BUserInfoVOne } from "./b2b/b2buserinfo"; import { ComaSeparatedValues } from "./sessionstate"; export declare enum EnumBadge { MSG = "MSG", TOY = "TOY", MEDIA = "MEDIA", GIFT = "GIFT" } /** * product code */ export interface IProduct { productId: EnumProductId; } export interface IChannelInfoBackEndPayload { freeChatDuration: number; freeMessagesCount: number; currency: EnumCurrency; messagePrice: number; videoChatPrice: number; voyeurChatPrice: number; singleChatPrice: number; singleC2CChatPrice: number; } /** * channel information and abilities */ export interface IChanelInfo extends IKeyMaybeValue { canBeArchived?: EnumBooleanStringified; canBeBanned?: EnumBooleanStringified; } /** * User channel information and abilities */ export interface IChanelInfoV extends IKeyMaybeValue { /** the VOne channel(user) was advertised by user, readonly*/ advertised?: EnumBooleanStringified; /** json-encoded string. discount information about video chat discount, readonly */ discount?: JSONString; /** the user follew me (mirrored regularCustomer), readonly */ followMe?: EnumBooleanStringified; /** Customer value badges */ badges?: ComaSeparatedValues; /** no messages can be sent, too many messages without answer. readonly*/ blockedOutbound?: EnumBooleanStringified; /** no messages can come in*/ blockedInbound?: EnumBooleanStringified; } /** * channel note */ export default interface IChannelNote extends IKeyValue { firstName?: string; lastName?: string; age?: string; city?: string; regularCustomer?: string; notes?: string; note?: string; } export interface ChannelInfo extends channelIdType, Partial, IChanelInfo, IChanelInfoV, Partial, IChannelNote { } export declare type ChannelInfoType = channelIdType & IProduct & IChanelInfo & IChanelInfoV & (IB2BUserInfo | IB2BUserInfoVOne) & IChannelNote; /** * transport command for channel information */ export declare class CMDC_CHANNELINFO implements ICOMMAND { action: ACTION; params: ChannelInfoType; } /** * get channel information */ export declare class CMDP_GETCHANNELINFO implements ICOMMAND { action: ACTION; params: baseParamsType & channelIdType; } /** * Response for CMDP_CHANNELINFO */ export declare class CMDP_GETCHANNELINFO_RESPONSE extends CMDP_GETCHANNELINFO implements IRESPONSE, IBACKENDPAYLOAD { result: RESULT; /** ContactInfo */ commands: CMDC_CHANNELINFO[]; /** unused */ values: IKeyMaybeValue; /** the backend info for the channel */ payload?: IChannelInfoBackEndPayload; } /** * set channel note. */ export declare class CMDP_SETCHANNELINFO implements ICOMMAND, IBACKENDPAYLOAD { action: ACTION; params: baseParamsType & channelIdType & IChannelNote; /** the backend info for the channel */ payload?: unknown; } /** * Response for CMDP_SETCHANNELINFO */ export declare class CMDP_SETCHANNELINFO_RESPONSE extends CMDP_SETCHANNELINFO implements IRESPONSE { result: RESULT; commands: ICOMMAND[]; /** unused */ values: IKeyMaybeValue; /** the backend info for the channel */ payload?: unknown; } export declare type summarizedData = { firstname?: string; nickname?: string; age?: string; birthday?: string; job?: string; payday?: string; tattoos?: string; location?: string; relationship_status?: string; hobbies?: string; family?: string; sexual_likes?: string; sexual_dislikes?: string; recommendation_likes?: string; recommendation_dislikes?: string; last_session_summary?: string; summary?: string; }; export declare enum EnumAiSummaryState { QUEUD = "queued", READY = "ready", ERROR = "error" } export declare class CMDC_AICHANNELSUMMARY implements ICOMMAND { action: ACTION; params: { channelId: string; state: EnumAiSummaryState; summary?: JSONString; lastMsgAt?: string; completedAt?: string; }; } export declare class CMDP_GETAICHANNELSUMMARY implements ICOMMAND { action: ACTION; params: baseParamsType & channelIdType & { /** deprecated */ update?: EnumBooleanStringified; forceUpdate?: EnumBooleanStringified; }; } export declare class CMDP_GETAICHANNELSUMMARY_RESPONSE extends CMDP_GETAICHANNELSUMMARY implements IRESPONSE { result: RESULT; commands: CMDC_AICHANNELSUMMARY[]; values: IKeyMaybeValue; }