import Response from "../util/Response"; import { AxiosPromise } from "axios"; export type DiscordMediaType = 'all' | 'image' | 'video' | 'gif'; export type DiscordMediaAuthorType = 'all' | 'user' | 'bot' | 'webhook'; export interface DiscordMediaSearchParams { cursor?: string; channel_id?: string; search?: string; search_scope?: 'content' | 'filename'; media_type?: DiscordMediaType; author_type?: DiscordMediaAuthorType; date_from?: string; date_to?: string; sort_order?: 'asc' | 'desc'; include_imported?: boolean; include_unsupported?: boolean; include_nsfw?: boolean; } export interface DiscordMediaAttachment { id: string; filename: string; title?: string | null; description?: string | null; mime_type: string; media_type: 'image' | 'video'; size: number; url?: string | null; proxy_url?: string | null; width?: number | null; height?: number | null; duration_secs?: number | null; supported: boolean; unsupported_reason?: string | null; already_imported: boolean; imported_title_update_id?: string | null; imported_media_id?: string | null; duplicate_import: boolean; } export interface DiscordMediaMessage { id: string; channel_id: string; content: string; timestamp?: string | null; edited_timestamp?: string | null; jump_url: string; author: { id?: string | null; username: string; avatar?: string | null; bot: boolean; }; webhook_id?: string | null; attachments: DiscordMediaAttachment[]; } export interface DiscordMediaSearchResponse { items: DiscordMediaMessage[]; total_results: number; next_cursor?: string | null; indexing: boolean; retry_after?: number | null; } export interface DiscordMediaImportGroup { channel_id: string; message_id: string; attachment_ids: string[]; } export type DiscordTitleUpdateMode = 'grouped' | 'separate'; export interface DiscordMediaImportRequest { groups: DiscordMediaImportGroup[]; /** Group files by Discord message or create one pending Library item per file. */ title_update_mode?: DiscordTitleUpdateMode; } export interface DiscordMediaImportAttachmentResult { status: 'imported' | 'duplicate' | 'failed'; channel_id: string; message_id: string; attachment_id: string; media_id?: string; title_update_id?: string; reason?: string; } export interface DiscordMediaImportResponse { imported_count: number; duplicate_count: number; failed_count: number; updates: Array<{ id: string; title?: string | null; scheduled_status: 'pending'; schedule_for_social: false; media_count: number; }>; attachments: DiscordMediaImportAttachmentResult[]; } export interface DiscordUserCommandStatus { linked: boolean; linked_to_this_scheduler: boolean; discord_username?: string | null; destination_scheduler_id?: string | null; destination_scheduler_name?: string | null; installed_at?: string | null; destination_count?: number; linked_account_count?: number; pending_count: number; command_name: string; setup_path: string; configured: boolean; command_ready: boolean; credentials_configured: boolean; user_install_enabled: boolean; interactions_endpoint_configured: boolean; command_registered: boolean; command_id?: string | null; configuration_error?: string | null; checked_at?: string | null; } export type DiscordMediaCaptureStatus = 'processing' | 'ready' | 'complete' | 'failed' | 'expired'; export type DiscordMediaCaptureAttachmentStatus = 'processing' | 'ready' | 'duplicate' | 'unsupported' | 'failed' | 'imported'; export interface DiscordMediaCaptureAttachment { id: string; discord_attachment_id: string; filename: string; mime_type?: string | null; media_type: 'image' | 'video'; size: number; width?: number | null; height?: number | null; duration_secs?: number | null; description?: string | null; status: DiscordMediaCaptureAttachmentStatus; failure_reason?: string | null; preview_url?: string | null; media_id?: string | null; title_update_id?: string | null; } export interface DiscordMediaCapture { id: string; status: DiscordMediaCaptureStatus; content?: string | null; author?: { id?: string | null; username: string; avatar?: string | null; bot: boolean; } | null; timestamp?: string | null; jump_url?: string | null; expires_at: string; failure_reason?: string | null; attachments: DiscordMediaCaptureAttachment[]; } export interface DiscordMediaCaptureListParams { cursor?: string; search?: string; limit?: number; } export interface DiscordMediaCaptureListResponse { items: DiscordMediaCapture[]; next_cursor?: string | null; } export interface DiscordMediaCaptureImportRequest { capture_id: string; attachment_ids: string[]; /** Group selected files together or create one pending Library item per file. */ title_update_mode?: DiscordTitleUpdateMode; } declare class Scheduler { /** * List promotion schedules. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getTitlePromotionSchedules * * @returns promise */ static listSchedules(params?: Record): AxiosPromise>; /** * Create a new promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/createTitlePromotionSchedule * * @param data The data for the new schedule. * * @returns promise */ static createSchedule(data: object, params?: Record): AxiosPromise>; /** * Get a specific promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getTitlePromotionSchedule * * @param scheduler_id The ID of the promotion schedule. * * @returns promise */ static getSchedule(scheduler_id: string, params?: Record): AxiosPromise>; /** * Update a promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/updateTitlePromotionSchedule * * @param scheduler_id The ID of the promotion schedule. * @param data The data to update. * * @returns promise */ static updateSchedule(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Delete a promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/deleteTitlePromotionSchedule * * @param scheduler_id The ID of the promotion schedule. * * @returns promise */ static deleteSchedule(scheduler_id: string, params?: Record): AxiosPromise>; /** * Test the tone of the scheduler. * * @see https://api.glitch.fun/api/documentation#/Scheduler/updateTitlePromotionSchedule * * @param scheduler_id The ID of the promotion schedule. * @param data The data to update. * * @returns promise */ static testTone(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Get social media posts related to a promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getPromotionScheduleSocialPosts * * @param scheduler_id The ID of the promotion schedule. * * @returns promise */ static getSchedulePosts(scheduler_id: string, params?: Record): AxiosPromise>; /** * Rewrite / generate content for a promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/generateTitleContent * * @param scheduler_id UUID of the promotion schedule. * @param data Body payload. At minimum you must supply * `{ platform: 'twitter' }` plus either `content` * **or** a `media` array containing at least one * `{ id: '' }`. * @returns Axios promise with `{ content, title? }` */ static generateTitleContent(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * List title updates for a promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getTitleUpdates * * @param scheduler_id The ID of the promotion schedule. * * @returns promise */ static listUpdates(scheduler_id: string, params?: Record): AxiosPromise>; /** * Search the updates related to a promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/searchTitleUpdates * * @param scheduler_id The ID of the promotion schedule. * * @returns promise */ static searchUpdates(scheduler_id: string, params?: Record): AxiosPromise>; /** * Create a new title update for a promotion schedule. * * @see https://api.glitch.fun/api/documentation#/Scheduler/createTitleUpdate * * @param scheduler_id The ID of the promotion schedule. * @param data The data for the new update. * * @returns promise */ static createUpdate(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Get a specific title update. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getTitleUpdate * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * * @returns promise */ static getUpdate(scheduler_id: string, update_id: string, params?: Record): AxiosPromise>; /** * Update a title update. * * @see https://api.glitch.fun/api/documentation#/Scheduler/updateTitleUpdate * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * @param data The data to update. * * @returns promise */ static updateUpdate(scheduler_id: string, update_id: string, data: object, params?: Record): AxiosPromise>; /** * Delete a title update. * * @see https://api.glitch.fun/api/documentation#/Scheduler/deleteTitleUpdate * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * * @returns promise */ static deleteUpdate(scheduler_id: string, update_id: string, params?: Record): AxiosPromise>; /** * Schedule title update. * * @see https://api.glitch.fun/api/documentation#/Scheduler/updateTitleUpdate * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * @param data The data to update. * * @returns promise */ static scheduleUpdate(scheduler_id: string, update_id: string, data: object, params?: Record): AxiosPromise>; /** * Clear Twitter OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearTwitterAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Facebook OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearFacebookAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Instagram OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearInstagramAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Snapchat OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearSnapchatAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear TikTok OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearTikTokAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Twitch OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearTwitchAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Kick OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearKickAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Reddit OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearRedditAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Reddit Ads OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearRedditAdsAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear YouTube OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearYouTubeAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Patreon OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearPatreonAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Pinterest OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearPinterestAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Steam OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearSteamAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Discord OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearDiscordAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Bluesky OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearBlueskyAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get Facebook groups associated with the scheduler's Facebook account. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static getFacebookGroups(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get Instagram accounts associated with the scheduler's Instagram account. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static getInstagramAccounts(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get Reddit subreddits associated with the scheduler's Reddit account. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static getRedditSubreddits(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get flairs for a specific Reddit subreddit. * * @param scheduler_id The ID of the promotion schedule. * @param subreddit The name of the subreddit. * @returns promise */ static getRedditSubredditFlairs(scheduler_id: string, subreddit: string, params?: Record): AxiosPromise>; /** * Get posting rules for a specific Reddit subreddit. * * @param scheduler_id The ID of the promotion schedule. * @param subreddit The name of the subreddit. * @returns promise */ static getRedditSubredditRules(scheduler_id: string, subreddit: string, params?: Record): AxiosPromise>; /** * Get Discord channels associated with the scheduler's Discord account. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static getDiscordChannels(scheduler_id: string, params?: Record): AxiosPromise>; /** * Search image and video attachments in the connected Discord server. * This call only returns remote candidates; it does not copy files into the * Library and does not create or schedule social posts. */ static searchDiscordMedia(scheduler_id: string, params?: DiscordMediaSearchParams): AxiosPromise>; /** * Import explicitly selected Discord attachments as pending, unscheduled * Library updates. Callers can group files by message or create one item * per file through title_update_mode. */ static importDiscordMedia(scheduler_id: string, data: DiscordMediaImportRequest, params?: Record): AxiosPromise>; /** Get the current user's personal Save to Glitch command setup state. */ static getDiscordUserCommandStatus(scheduler_id: string, params?: Record): AxiosPromise>; /** Disconnect the current user's personal command from this Library. */ static disconnectDiscordUserCommand(scheduler_id: string, params?: Record): AxiosPromise>; /** List messages saved through the user-installed Discord command. */ static listDiscordMediaCaptures(scheduler_id: string, params?: DiscordMediaCaptureListParams): AxiosPromise>; /** Import selected staged attachments into pending Library content. */ static importDiscordMediaCapture(scheduler_id: string, data: DiscordMediaCaptureImportRequest, params?: Record): AxiosPromise>; /** Dismiss one saved Discord message and delete its temporary staged files. */ static dismissDiscordMediaCapture(scheduler_id: string, capture_id: string, params?: Record): AxiosPromise>; /** * Clear Google Ads OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearGoogleAdsAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Clear Tiktok Ads OAuth credentials from a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @returns promise */ static clearTiktokAdsAuth(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get aggregated reports for a promotion schedule. * * @param scheduler_id The ID of the promotion schedule. * @param params Query parameters (e.g., social_platform, start_date, end_date) * @returns promise */ static getSchedulerReports(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get progression data for social media posts over time. * * @param scheduler_id The ID of the promotion schedule. * @param params Query parameters (e.g., social_platform, start_date, end_date) * @returns promise */ static getSchedulerProgression(scheduler_id: string, params?: Record): AxiosPromise>; /** * List cross-promote relationships for a scheduler (with optional pagination). * GET /schedulers/{scheduler_id}/crosspromote/relationships */ static crossPromoteListRelationships(scheduler_id: string, params?: Record): AxiosPromise>; /** * Find potential cross-promote partners for a scheduler (with optional filters). * GET /schedulers/{scheduler_id}/crosspromote/find */ static crossPromoteFind(scheduler_id: string, params?: Record): AxiosPromise>; /** * List cross-promote invites for a scheduler (incoming + outgoing). * GET /schedulers/{scheduler_id}/crosspromote/invites */ static crossPromoteInvitesList(scheduler_id: string, params?: Record): AxiosPromise>; /** * Send an invite to cross-promote (from scheduler_id to partner_scheduler_id). * POST /schedulers/{scheduler_id}/crosspromote/invites * * @param data { partner_scheduler_id, optional_message } */ static crossPromoteInviteSend(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Accept an invite to cross-promote. * POST /schedulers/{scheduler_id}/crosspromote/invites/{invite_id}/accept */ static crossPromoteInviteAccept(scheduler_id: string, invite_id: string, params?: Record): AxiosPromise>; /** * Reject an invite to cross-promote. * POST /schedulers/{scheduler_id}/crosspromote/invites/{invite_id}/reject */ static crossPromoteInviteReject(scheduler_id: string, invite_id: string, params?: Record): AxiosPromise>; /** * End a cross-promote relationship (delete). * DELETE /schedulers/{scheduler_id}/crosspromote/relationships/{relationship_id} */ static crossPromoteRelationshipDelete(scheduler_id: string, relationship_id: string, params?: Record): AxiosPromise>; /** * Get which platforms are cross-promoted in an existing relationship. * GET /schedulers/{scheduler_id}/crosspromote/relationships/{relationship_id}/platforms */ static crossPromoteRelationshipGetPlatforms(scheduler_id: string, relationship_id: string, params?: Record): AxiosPromise>; /** * Set which platforms are cross-promoted in an existing relationship. * PUT /schedulers/{scheduler_id}/crosspromote/relationships/{relationship_id}/platforms * data = { platforms: ['twitter','facebook',...]} */ static crossPromoteRelationshipSetPlatforms(scheduler_id: string, relationship_id: string, data: object, params?: Record): AxiosPromise>; /** * Get recently cross-promoted logs under a relationship. * GET /schedulers/{scheduler_id}/crosspromote/relationships/{relationship_id}/posts */ static crossPromoteRelationshipPosts(scheduler_id: string, relationship_id: string, params?: Record): AxiosPromise>; /** * Search cross-promote opportunities using the normalized route family. * GET /schedulers/cross-promote/search */ static crossPromoteSearch(params?: Record): AxiosPromise>; /** * Send a normalized cross-promote invitation. * POST /schedulers/cross-promote/invitations */ static crossPromoteInvitationSend(data: object, params?: Record): AxiosPromise>; /** * Respond to a normalized cross-promote invitation. * POST /schedulers/cross-promote/invitations/{invitation_id}/respond */ static crossPromoteInvitationRespond(invitation_id: string, data: object, params?: Record): AxiosPromise>; /** * List normalized cross-promote relationships. * GET /schedulers/cross-promote/relationships */ static crossPromoteRelationshipsList(params?: Record): AxiosPromise>; /** * End a normalized cross-promote relationship. * POST /schedulers/cross-promote/relationships/{relationship_id}/end */ static crossPromoteRelationshipEnd(relationship_id: string, params?: Record): AxiosPromise>; /** * List normalized cross-promote relationship logs. * GET /schedulers/cross-promote/relationships/{relationship_id}/logs */ static crossPromoteRelationshipLogs(relationship_id: string, params?: Record): AxiosPromise>; /** * List platform-level businesses for the given campaign ID, * as defined by /schedulers/{scheduler_id}/businesses on the backend. * * Typically relevant for Reddit (list businesses), or might return a * "not supported" message for Meta/TikTok. * * @param scheduler_id The UUID of the Ad Campaign * @param params Optional query parameters, e.g. page.size, etc. * @returns A response object with data (business list or messages) */ static listCampaignBusinesses(scheduler_id: string, params?: Record): AxiosPromise>; /** * List Ad Accounts for the given campaign ID, * as defined by /schedulers/{scheduler_id}/ad_accounts on the backend. * * E.g. for Reddit, you can pass ?business_id= to get business-level ad accounts, * or for Twitter, it might just return a user’s ad accounts, etc. * * @param scheduler_id The UUID of the Ad Campaign * @param params Optional query parameters, e.g. business_id, page.size, etc. * @returns A response object with data (ad account list) */ static listCampaignAdAccounts(scheduler_id: string, params?: Record): AxiosPromise>; /** * List funding instruments for the given campaign ID, * as defined by /schedulers/{scheduler_id}/funding_instruments on the backend. * * For Twitter, pass ?account_id=... * For Reddit, pass ?ad_account_id=... or ?business_id=... * * @param scheduler_id The UUID of the Ad Campaign * @param params Optional query parameters * @returns A response object with data (funding instruments) */ static listCampaignFundingInstruments(scheduler_id: string, params?: Record): AxiosPromise>; /** * List Google Ads conversion actions available to a scheduler account. * GET /schedulers/{scheduler_id}/conversion-actions */ static listConversionActions(scheduler_id: string, params?: Record): AxiosPromise>; /** * List all destinations for a title update. * * @see https://api.glitch.fun/api/documentation#/Scheduler/listTitleUpdateDestinations * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * @returns promise */ static listDestinations(scheduler_id: string, update_id: string, params?: Record): AxiosPromise>; /** * Create a new destination for a title update. * * @see https://api.glitch.fun/api/documentation#/Scheduler/createTitleUpdateDestination * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * @param data The data for the new destination. * @returns promise */ static createDestination(scheduler_id: string, update_id: string, data: object, params?: Record): AxiosPromise>; /** * Get a specific title update destination. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getTitleUpdateDestination * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * @param destination_id The ID of the destination. * @returns promise */ static getDestination(scheduler_id: string, update_id: string, destination_id: string, params?: Record): AxiosPromise>; /** * Update a title update destination. * * @see https://api.glitch.fun/api/documentation#/Scheduler/updateTitleUpdateDestination * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * @param destination_id The ID of the destination. * @param data The data to update. * @returns promise */ static updateDestination(scheduler_id: string, update_id: string, destination_id: string, data: object, params?: Record): AxiosPromise>; /** * Delete a title update destination. * * @see https://api.glitch.fun/api/documentation#/Scheduler/deleteTitleUpdateDestination * * @param scheduler_id The ID of the promotion schedule. * @param update_id The ID of the title update. * @param destination_id The ID of the destination. * @returns promise */ static deleteDestination(scheduler_id: string, update_id: string, destination_id: string, params?: Record): AxiosPromise>; /** * Get subreddit recommendations for a scheduler. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getSchedulerRedditRecommendations * * @param scheduler_id The ID of the promotion schedule. * @param data The context for the post (title, content, media type). * @returns promise */ static getRedditRecommendations(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Generate tailored content for a specific subreddit. * * @see https://api.glitch.fun/api/documentation#/Scheduler/generateRedditContentForSubreddit * * @param scheduler_id The ID of the promotion schedule. * @param data The target subreddit and post context. * @returns promise */ static generateRedditContent(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Match the scheduler title to indexed Reddit communities. * * @param scheduler_id The ID of the promotion schedule. * @param data Optional post context and filters. * @returns promise */ static getRedditSubredditMatches(scheduler_id: string, data?: object, params?: Record): AxiosPromise>; /** * Position a registered game for a subreddit and optionally prepare Reddit draft content. * * @param scheduler_id The ID of the promotion schedule. * @param data The target subreddit and optional post context. * @returns promise */ static getRedditSubredditPositioning(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Get all posts and comments for a scheduler. * * @param scheduler_id The ID of the promotion schedule. * @param params Optional query parameters for filtering and sorting. * @returns promise */ static getSchedulerPostsWithComments(scheduler_id: string, params?: Record): AxiosPromise>; /** * Sync all comments for all posts in a scheduler. * * @param scheduler_id The ID of the promotion schedule. * @param params Optional query parameters (e.g., limit_per_post). * @returns promise */ static syncAllSchedulerComments(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get ad conversion actions for a specific platform linked to the scheduler. * * @see https://api.glitch.fun/api/documentation#/Scheduler/getSchedulerConversionActions * * @param scheduler_id The ID of the promotion schedule. * @param params Query parameters, including 'platform' (required) and 'account_id' (optional). * * @returns promise */ static getConversionActions(scheduler_id: string, params: { platform: string; account_id?: string; }): AxiosPromise>; /** * Send a platform test conversion event through the backend scheduler route. * * @param scheduler_id The ID of the promotion schedule. * @param platform Platform key, e.g. reddit, tiktok, facebook, google. * @param params Query parameters such as Reddit test_id or Meta test_event_code. */ static sendTestConversionEvent(scheduler_id: string, platform: string, params?: Record): AxiosPromise>; /** * Trigger a historical sync for a specific platform on a scheduler. * * @see https://api.glitch.fun/api/documentation#/Scheduler/syncHistory * * @param scheduler_id The ID of the promotion schedule. * @param platform The platform to sync (e.g., 'twitter', 'youtube', 'bluesky'). * * @returns promise */ static syncHistory(scheduler_id: string, platform: string, params?: Record): AxiosPromise>; /** * Generate hashtags for content based on scheduler settings. * * @param scheduler_id The ID of the promotion schedule. * @param data { content: string, platform?: string } * * @returns promise */ static generateHashtags(scheduler_id: string, data: object, params?: Record): AxiosPromise>; /** * Get TikTok hashtag suggestions based on a keyword. * * @param scheduler_id The ID of the promotion schedule. * @param params { keyword: string } */ static getTikTokHashtags(scheduler_id: string, params: { keyword: string; }): AxiosPromise>; /** * Get trending commercial music from TikTok's library. * * @param scheduler_id The ID of the promotion schedule. */ static getTikTokMusic(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get TikTok Music List with advanced filtering (Keyword, Recommendations, Liked). * @param params { music_scene: 'CREATIVE_ASSET'|'CAROUSEL_ADS', search_type: string, filtering: object } */ static getTikTokMusicList(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get the top 200 trending hashtags on TikTok. * @param params { country_code: string, category_name: string, date_range: string } */ static getTikTokTrendingHashtags(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get trending search keywords on TikTok. * @param params { is_personalized: boolean } */ static getTikTokTrendingKeywords(scheduler_id: string, params?: Record): AxiosPromise>; /** * Get recommended search keywords on TikTok. * @param params { is_personalized: boolean } */ static getTikTokRecommendedKeywords(scheduler_id: string, params?: Record): AxiosPromise>; } export default Scheduler;