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 { StalkResult } from "./types/get/getProfile";
import { TiktokLiveSearchResponse } from "./types/search/liveSearch";
import { CommentsResult } from "./types/get/getComments";
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"> = T extends "user" ? TiktokUserSearchResponse : T extends "live" ? any : TiktokLiveSearchResponse;
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">(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<StalkResult>;
    GetComments: (url: string, options?: {
        commentLimit?: number;
        proxy?: string;
    }) => Promise<CommentsResult>;
};
export = _default;
