///
import * as tikTokSchema from './tiktok-schema';
import { MessageFns, WebcastResponse, WebcastWebsocketMessage } from './tiktok-schema';
import { AxiosRequestConfig } from 'axios';
import * as http from 'node:http';
export declare type TikTokLiveConnectionOptions = {
processInitialData: boolean;
fetchRoomInfoOnConnect: boolean;
enableExtendedGiftInfo: boolean;
enableRequestPolling: boolean;
requestPollingIntervalMs: number;
sessionId: string | null;
authenticateWs: boolean;
preferredAgentIds: string[];
connectWithUniqueId: boolean;
logFetchFallbackErrors: boolean;
webClientParams: Record;
webClientHeaders: Record;
webClientOptions: AxiosRequestConfig;
wsClientHeaders: Record;
wsClientParams: Record;
wsClientOptions: http.RequestOptions;
signedWebSocketProvider?: (props: FetchSignedWebSocketParams) => Promise;
};
export declare type RoomInfo = Record & {
status: number;
};
export declare type RoomGiftInfo = any;
export declare type FetchSignedWebSocketParams = {
roomId?: string;
uniqueId?: string;
preferredAgentIds?: string[];
sessionId?: string;
};
export declare type WebcastHttpClientConfig = {
customHeaders: Record;
axiosOptions: AxiosRequestConfig;
clientParams: Record;
authenticateWs?: boolean;
};
export interface TikTokLiveConnectionWebSocketParams extends Record {
compress?: string;
}
export declare type DecodedWebcastWebsocketMessage = WebcastWebsocketMessage & {
webcastResponse?: any;
};
export interface IWebcastConfig {
TIKTOK_HOST_WEB: string;
TIKTOK_HOST_WEBCAST: string;
TIKTOK_HTTP_ORIGIN: string;
DEFAULT_HTTP_CLIENT_COOKIES: Record;
DEFAULT_HTTP_CLIENT_PARAMS: Record;
DEFAULT_HTTP_CLIENT_OPTIONS: AxiosRequestConfig;
DEFAULT_WS_CLIENT_PARAMS_APPEND_PARAMETER: string;
DEFAULT_HTTP_CLIENT_HEADERS: Record & {
'User-Agent': string;
};
DEFAULT_WS_CLIENT_PARAMS: Record;
DEFAULT_WS_CLIENT_HEADERS: Record & {
'User-Agent': string;
};
}
export interface IWebcastDeserializeConfig {
skipMessageTypes: string[];
}
declare type ExtractMessageType = T extends MessageFns ? U : never;
export declare type WebcastMessage = {
[K in keyof typeof tikTokSchema as ExtractMessageType extends never ? never : K]: ExtractMessageType;
};
export declare type WebcastEventMessage = {
[K in keyof WebcastMessage as K extends `Webcast${string}` ? K : never]: WebcastMessage[K];
};
declare module '../types/tiktok-schema' {
interface Message {
decodedData?: WebcastEventMessage[keyof WebcastEventMessage];
}
}
export declare type WebcastWsEvent = string | 'webcastResponse' | 'unknownResponse' | 'messageDecodingFailed' | 'connect' | 'connectFailed' | 'httpResponse';
export declare type WebcastHttpClientRequestParams = Omit, 'baseURL'> & {
host: string;
path: string;
params?: Record;
signRequest: boolean;
};
export {};
//# sourceMappingURL=client.d.ts.map