import { MusicalDownResponse } from "./types/downloader/musicaldown";
import { SSSTikResponse } from "./types/downloader/ssstik";
import { TiktokAPIResponse } from "./types/downloader/tiktokApi";
import { TiktokUserSearchResponse } from "./types/search/userSearch";
import { TiktokStalkUserResponse } from "./types/get/getProfile";
import { TiktokLiveSearchResponse } from "./types/search/liveSearch";
import { TiktokVideoCommentsResponse } from "./types/get/getComments";
import { TiktokUserPostsResponse } from "./types/get/getUserPosts";
import { TiktokUserFavoriteVideosResponse } from "./types/get/getUserLiked";
import { TiktokVideoSearchResponse } from "./types/search/videoSearch";
type TiktokDownloaderResponse<T extends "v1" | "v2" | "v3"> = T extends "v1" ? TiktokAPIResponse : T extends "v2" ? SSSTikResponse : T extends "v3" ? MusicalDownResponse : TiktokAPIResponse;
type TiktokSearchResponse<T extends "user" | "live" | "video"> = T extends "user" ? TiktokUserSearchResponse : T extends "live" ? TiktokLiveSearchResponse : TiktokVideoSearchResponse;
declare const _default: {
    Downloader: <T extends "v1" | "v2" | "v3">(url: string, options?: {
        version: T;
        proxy?: string;
        showOriginalResponse?: boolean;
    }) => Promise<TiktokDownloaderResponse<T>>;
    Search: <T extends "user" | "live" | "video">(query: string, options: {
        type: T;
        cookie: string | any[];
        page?: number;
        proxy?: string;
    }) => Promise<TiktokSearchResponse<T>>;
    StalkUser: (username: string, options?: {
        cookie?: string | any[];
        postLimit?: number;
        proxy?: string;
    }) => Promise<TiktokStalkUserResponse>;
    GetVideoComments: (url: string, options?: {
        commentLimit?: number;
        proxy?: string;
    }) => Promise<TiktokVideoCommentsResponse>;
    GetUserPosts: (username: string, options?: {
        postLimit?: number;
        proxy?: string;
    }) => Promise<TiktokUserPostsResponse>;
    GetUserLiked: (username: string, options: {
        cookie: string | any[];
        postLimit?: number;
        proxy?: string;
    }) => Promise<TiktokUserFavoriteVideosResponse>;
};
export = _default;
