import type { DiscoveryOptions, OAuthConfig, TikTokClientOptions, WebhookConfig } from "./types.ts"; export type * from "./types.ts"; export declare function createTikTokClient(opts: TikTokClientOptions): { videos: { publish(opts: import("./types.ts").PublishVideoOptions): Promise<{ shareId: string; }>; getPublishStatus(publishId: string): Promise; waitForPublish(publishId: string, opts?: { intervalMs?: number; maxAttempts?: number; }): Promise; list(opts?: import("./types.ts").ListVideosOptions): Promise; }; photos: { publish(opts: import("./types.ts").PublishPhotoOptions): Promise<{ shareId: string; }>; getPublishStatus(publishId: string): Promise; }; comments: { list(opts: import("./types.ts").ListCommentsOptions): Promise; create(opts: import("./types.ts").CreateCommentOptions): Promise; reply(opts: import("./types.ts").ReplyCommentOptions): Promise; listReplies(opts: import("./types.ts").ListRepliesOptions): Promise; like(commentId: string, action: "LIKE" | "UNLIKE"): Promise; hide(opts: { videoId: string; commentId: string; action: "HIDE" | "UNHIDE"; }): Promise; delete(commentId: string): Promise; uploadImage(imageFile: Blob): Promise<{ imageUri: string; width: number; height: number; }>; }; account: { get(opts?: import("./types.ts").AccountInfoOptions): Promise>; getVideoSettings(): Promise; getHashtagSuggestions(keyword: string, language?: string): Promise; getBenchmarks(category: import("./types.ts").BusinessCategory): Promise; }; sparkAds: { enable(itemId: string, authorizationDays?: import("./types.ts").AuthorizationDays): Promise; disable(itemId: string): Promise; extend(itemId: string, authorizationDays?: import("./types.ts").AuthorizationDays): Promise; getStatus(itemId: string): Promise; deleteAuthCode(itemId: string): Promise; }; discovery: { getTrendingMusic(opts?: { genre?: string; countryCode?: string; dateRange?: import("./types.ts").MusicDateRange; }): Promise; getMusicVideos(commercialMusicId: string, countryCode?: string): Promise<{ commercial_music_id: string; commercial_music_name: string; top_video_list: import("./types.ts").HashtagVideo[]; }>; getTrendingSearchKeywords(isPersonalized?: boolean): Promise; getRecommendedSearchKeywords(query: string, isPersonalized?: boolean): Promise; }; mentions: { listMentionedVideos(opts?: import("./types.ts").ListMentionedVideosOptions): Promise<{ videos: import("./types.ts").MentionVideo[]; cursor: number; has_more: boolean; }>; getMentionedVideo(itemId: string, fields?: import("./types.ts").MentionVideoField[]): Promise; listMentionedComments(opts?: import("./types.ts").ListMentionedCommentsOptions): Promise<{ comments: import("./types.ts").MentionComment[]; cursor: number; has_more: boolean; }>; getMentionedComment(commentId: string, itemId: string, fields?: import("./types.ts").MentionCommentField[]): Promise; getTopHashtags(regions?: string[]): Promise<{ hashtag: string; count: number; }[]>; getTopKeywords(regions?: string[]): Promise<{ word: string; count: number; }[]>; verifyBrandHashtags(username: string): Promise; enableBrandHashtags(username: string, hashtags: string[]): Promise<{ hashtag: string; create_date: string; }[]>; listBrandHashtags(username: string): Promise<{ hashtag: string; create_date: string; }[]>; getBrandHashtagVideos(opts?: import("./types.ts").ListBrandHashtagVideosOptions): Promise<{ videos: (import("./types.ts").MentionVideo & { matched_hashtags?: string[]; })[]; cursor: number; has_more: boolean; }>; removeBrandHashtag(username: string, hashtag: string): Promise; }; messaging: { sendMessage(opts: import("./types.ts").SendMessageOptions): Promise<{ messageId: string; }>; listConversations(conversationType: import("./types.ts").ConversationType, opts?: { limit?: number; cursor?: number; }): Promise<{ conversations: import("./types.ts").Conversation[]; cursor: number; has_more: boolean; }>; listMessages(conversationId: string): Promise<{ messages: import("./types.ts").MessageItem[]; participants: import("./types.ts").MessageParticipant[]; }>; uploadImage(imageFile: Blob): Promise<{ mediaId: string; }>; downloadMedia(opts: { conversationId: string; messageId: string; mediaId: string; mediaType: "IMAGE" | "VIDEO"; }): Promise<{ downloadUrl: string; }>; getCapabilities(capabilityTypes: string[], opts?: { conversationId?: string; conversationType?: import("./types.ts").ConversationType; }): Promise<{ capabilityType: string; capabilityResult: boolean; }[]>; createAutoMessage(opts: import("./types.ts").CreateAutoMessageOptions): Promise<{ autoMessageId: string; }>; updateAutoMessage(autoMessageId: string, opts: import("./types.ts").CreateAutoMessageOptions): Promise<{ autoMessageId: string; }>; toggleAutoMessage(autoMessageType: import("./types.ts").AutoMessageType, status: "ENABLE" | "DISABLE"): Promise; getAutoMessages(autoMessageType: import("./types.ts").AutoMessageType, autoMessageId?: string): Promise<{ operationStatus: string; autoMessages: import("./types.ts").AutoMessage[]; }>; deleteAutoMessage(autoMessageType: "SUGGESTED_QUESTION" | "CHAT_PROMPT", autoMessageId: string): Promise; sortAutoMessages(autoMessageIds: string[]): Promise; }; }; /** * Create a TikTok client with URL property management. * Requires app-level credentials for property verification. */ export declare function createTikTokClientWithProperties(opts: TikTokClientOptions & { appId: string; appSecret: string; }): { properties: { list(): Promise; add(params: import("./types.ts").AddPropertyOptions): Promise; verify(params: import("./types.ts").AddPropertyOptions): Promise; delete(params: import("./types.ts").AddPropertyOptions): Promise; }; videos: { publish(opts: import("./types.ts").PublishVideoOptions): Promise<{ shareId: string; }>; getPublishStatus(publishId: string): Promise; waitForPublish(publishId: string, opts?: { intervalMs?: number; maxAttempts?: number; }): Promise; list(opts?: import("./types.ts").ListVideosOptions): Promise; }; photos: { publish(opts: import("./types.ts").PublishPhotoOptions): Promise<{ shareId: string; }>; getPublishStatus(publishId: string): Promise; }; comments: { list(opts: import("./types.ts").ListCommentsOptions): Promise; create(opts: import("./types.ts").CreateCommentOptions): Promise; reply(opts: import("./types.ts").ReplyCommentOptions): Promise; listReplies(opts: import("./types.ts").ListRepliesOptions): Promise; like(commentId: string, action: "LIKE" | "UNLIKE"): Promise; hide(opts: { videoId: string; commentId: string; action: "HIDE" | "UNHIDE"; }): Promise; delete(commentId: string): Promise; uploadImage(imageFile: Blob): Promise<{ imageUri: string; width: number; height: number; }>; }; account: { get(opts?: import("./types.ts").AccountInfoOptions): Promise>; getVideoSettings(): Promise; getHashtagSuggestions(keyword: string, language?: string): Promise; getBenchmarks(category: import("./types.ts").BusinessCategory): Promise; }; sparkAds: { enable(itemId: string, authorizationDays?: import("./types.ts").AuthorizationDays): Promise; disable(itemId: string): Promise; extend(itemId: string, authorizationDays?: import("./types.ts").AuthorizationDays): Promise; getStatus(itemId: string): Promise; deleteAuthCode(itemId: string): Promise; }; discovery: { getTrendingMusic(opts?: { genre?: string; countryCode?: string; dateRange?: import("./types.ts").MusicDateRange; }): Promise; getMusicVideos(commercialMusicId: string, countryCode?: string): Promise<{ commercial_music_id: string; commercial_music_name: string; top_video_list: import("./types.ts").HashtagVideo[]; }>; getTrendingSearchKeywords(isPersonalized?: boolean): Promise; getRecommendedSearchKeywords(query: string, isPersonalized?: boolean): Promise; }; mentions: { listMentionedVideos(opts?: import("./types.ts").ListMentionedVideosOptions): Promise<{ videos: import("./types.ts").MentionVideo[]; cursor: number; has_more: boolean; }>; getMentionedVideo(itemId: string, fields?: import("./types.ts").MentionVideoField[]): Promise; listMentionedComments(opts?: import("./types.ts").ListMentionedCommentsOptions): Promise<{ comments: import("./types.ts").MentionComment[]; cursor: number; has_more: boolean; }>; getMentionedComment(commentId: string, itemId: string, fields?: import("./types.ts").MentionCommentField[]): Promise; getTopHashtags(regions?: string[]): Promise<{ hashtag: string; count: number; }[]>; getTopKeywords(regions?: string[]): Promise<{ word: string; count: number; }[]>; verifyBrandHashtags(username: string): Promise; enableBrandHashtags(username: string, hashtags: string[]): Promise<{ hashtag: string; create_date: string; }[]>; listBrandHashtags(username: string): Promise<{ hashtag: string; create_date: string; }[]>; getBrandHashtagVideos(opts?: import("./types.ts").ListBrandHashtagVideosOptions): Promise<{ videos: (import("./types.ts").MentionVideo & { matched_hashtags?: string[]; })[]; cursor: number; has_more: boolean; }>; removeBrandHashtag(username: string, hashtag: string): Promise; }; messaging: { sendMessage(opts: import("./types.ts").SendMessageOptions): Promise<{ messageId: string; }>; listConversations(conversationType: import("./types.ts").ConversationType, opts?: { limit?: number; cursor?: number; }): Promise<{ conversations: import("./types.ts").Conversation[]; cursor: number; has_more: boolean; }>; listMessages(conversationId: string): Promise<{ messages: import("./types.ts").MessageItem[]; participants: import("./types.ts").MessageParticipant[]; }>; uploadImage(imageFile: Blob): Promise<{ mediaId: string; }>; downloadMedia(opts: { conversationId: string; messageId: string; mediaId: string; mediaType: "IMAGE" | "VIDEO"; }): Promise<{ downloadUrl: string; }>; getCapabilities(capabilityTypes: string[], opts?: { conversationId?: string; conversationType?: import("./types.ts").ConversationType; }): Promise<{ capabilityType: string; capabilityResult: boolean; }[]>; createAutoMessage(opts: import("./types.ts").CreateAutoMessageOptions): Promise<{ autoMessageId: string; }>; updateAutoMessage(autoMessageId: string, opts: import("./types.ts").CreateAutoMessageOptions): Promise<{ autoMessageId: string; }>; toggleAutoMessage(autoMessageType: import("./types.ts").AutoMessageType, status: "ENABLE" | "DISABLE"): Promise; getAutoMessages(autoMessageType: import("./types.ts").AutoMessageType, autoMessageId?: string): Promise<{ operationStatus: string; autoMessages: import("./types.ts").AutoMessage[]; }>; deleteAutoMessage(autoMessageType: "SUGGESTED_QUESTION" | "CHAT_PROMPT", autoMessageId: string): Promise; sortAutoMessages(autoMessageIds: string[]): Promise; }; }; export declare function createTikTokOAuth(config: OAuthConfig): { getAuthorizationUrl(opts?: { scopes?: string[]; state?: string; disableAutoAuth?: boolean; }): string; exchangeCode(code: string): Promise; refreshToken(refreshToken: string): Promise; revokeToken(accessToken: string): Promise; getTokenInfo(accessToken: string): Promise; getUserProfile(accessToken: string, businessId: string): Promise>; completeOAuth(code: string): Promise<{ token: import("./types.ts").TokenResponse; businessId: string; profile: Record; }>; }; export declare function createTikTokWebhooks(config: WebhookConfig): { get(eventType: import("./types.ts").WebhookEventType): Promise<{ appId: string; eventType: string; callbackUrl?: string; itemList?: string[]; }>; update(eventType: import("./types.ts").WebhookEventType, callbackUrl: string, itemList?: string[]): Promise; delete(eventType: import("./types.ts").WebhookEventType): Promise; setupAll(callbackUrl: string): Promise; teardownAll(): Promise; }; /** * Create a Discovery API client for advertiser-scoped trending hashtag endpoints. * Uses advertiser_id from Marketing API authentication. */ export declare function createTikTokDiscovery(opts: DiscoveryOptions): { getTrendingHashtags(opts?: { countryCode?: string; categoryName?: string; dateRange?: import("./types.ts").DiscoveryDateRange; }): Promise<{ filterInfo: Record; list: import("./types.ts").TrendingHashtag[]; }>; getHashtagDetail(hashtagId: string, opts: { countryCode: string; dateRange: import("./types.ts").DiscoveryDateRange; }): Promise; getHashtagVideos(hashtagIds: string[], opts?: { countryCode?: string; dateRange?: import("./types.ts").DiscoveryDateRange; }): Promise<{ hashtag_id: string; hashtag_name: string; top_video_list: import("./types.ts").HashtagVideo[]; }[]>; }; //# sourceMappingURL=index.d.ts.map