import { IPlatformSearchService, SourcePluginSearchOptions } from "@curatedotfun/types";
import { MasaClient, MasaSearchResult } from "src/masa-client";
import { TwitterPlatformState, TwitterQueryOptionsInput, TwitterQueryOptionsOutput } from "./types";
export declare const twitterService: {
    platformType: string;
    factory: (masaClient: MasaClient) => IPlatformSearchService<MasaSearchResult, TwitterQueryOptionsOutput, TwitterPlatformState>;
    config: {
        optionsSchema: import("zod").ZodObject<{
            allWords: import("zod").ZodOptional<import("zod").ZodString>;
            exactPhrase: import("zod").ZodOptional<import("zod").ZodString>;
            anyWords: import("zod").ZodOptional<import("zod").ZodString>;
            noneWords: import("zod").ZodOptional<import("zod").ZodString>;
            hashtags: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            fromAccounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            toAccounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            mentioningAccounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            includeReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
            onlyReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
            onlyLinks: import("zod").ZodOptional<import("zod").ZodBoolean>;
            minReplies: import("zod").ZodOptional<import("zod").ZodNumber>;
            minLikes: import("zod").ZodOptional<import("zod").ZodNumber>;
            minRetweets: import("zod").ZodOptional<import("zod").ZodNumber>;
            sinceDate: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodDate]>>;
            untilDate: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodDate]>>;
            sinceId: import("zod").ZodOptional<import("zod").ZodString>;
            pageSize: import("zod").ZodOptional<import("zod").ZodNumber>;
            language: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strict", import("zod").ZodTypeAny, {
            allWords?: string | undefined;
            exactPhrase?: string | undefined;
            anyWords?: string | undefined;
            noneWords?: string | undefined;
            hashtags?: string[] | undefined;
            fromAccounts?: string[] | undefined;
            toAccounts?: string[] | undefined;
            mentioningAccounts?: string[] | undefined;
            includeReplies?: boolean | undefined;
            onlyReplies?: boolean | undefined;
            onlyLinks?: boolean | undefined;
            minReplies?: number | undefined;
            minLikes?: number | undefined;
            minRetweets?: number | undefined;
            sinceDate?: string | Date | undefined;
            untilDate?: string | Date | undefined;
            sinceId?: string | undefined;
            pageSize?: number | undefined;
            language?: string | undefined;
        }, {
            allWords?: string | undefined;
            exactPhrase?: string | undefined;
            anyWords?: string | undefined;
            noneWords?: string | undefined;
            hashtags?: string[] | undefined;
            fromAccounts?: string[] | undefined;
            toAccounts?: string[] | undefined;
            mentioningAccounts?: string[] | undefined;
            includeReplies?: boolean | undefined;
            onlyReplies?: boolean | undefined;
            onlyLinks?: boolean | undefined;
            minReplies?: number | undefined;
            minLikes?: number | undefined;
            minRetweets?: number | undefined;
            sinceDate?: string | Date | undefined;
            untilDate?: string | Date | undefined;
            sinceId?: string | undefined;
            pageSize?: number | undefined;
            language?: string | undefined;
        }>;
        preparePlatformArgs: (options: SourcePluginSearchOptions) => TwitterQueryOptionsInput;
    };
};
