import { z } from 'astro/zod';
import { Loader } from 'astro/loaders';

declare const TweetSchema: z.ZodObject<{
    id: z.ZodString;
    tweet: z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodString;
        text: z.ZodString;
        edit_history_tweet_ids: z.ZodArray<z.ZodString, "many">;
        attachments: z.ZodOptional<z.ZodObject<{
            media_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            poll_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            media_keys?: string[] | undefined;
            poll_ids?: string[] | undefined;
        }, {
            media_keys?: string[] | undefined;
            poll_ids?: string[] | undefined;
        }>>;
        author_id: z.ZodOptional<z.ZodString>;
        conversation_id: z.ZodOptional<z.ZodString>;
        created_at: z.ZodOptional<z.ZodString>;
        entities: z.ZodOptional<z.ZodObject<{
            annotations: z.ZodOptional<z.ZodArray<z.ZodObject<{
                start: z.ZodNumber;
                end: z.ZodNumber;
                probability: z.ZodNumber;
                type: z.ZodString;
                normalized_text: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }, {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }>, "many">>;
            urls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                start: z.ZodNumber;
                end: z.ZodNumber;
                url: z.ZodString;
                expanded_url: z.ZodString;
                display_url: z.ZodString;
                unwound_url: z.ZodOptional<z.ZodString>;
                title: z.ZodOptional<z.ZodString>;
                description: z.ZodOptional<z.ZodString>;
                status: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
                media_key: z.ZodOptional<z.ZodString>;
                images: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    url: z.ZodString;
                    width: z.ZodNumber;
                    height: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    url: string;
                    width: number;
                    height: number;
                }, {
                    url: string;
                    width: number;
                    height: number;
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }, {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }>, "many">>;
            hashtags: z.ZodOptional<z.ZodArray<z.ZodObject<{
                start: z.ZodNumber;
                end: z.ZodNumber;
                tag: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                start: number;
                end: number;
                tag: string;
            }, {
                start: number;
                end: number;
                tag: string;
            }>, "many">>;
            cashtags: z.ZodOptional<z.ZodArray<z.ZodObject<{
                start: z.ZodNumber;
                end: z.ZodNumber;
                tag: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                start: number;
                end: number;
                tag: string;
            }, {
                start: number;
                end: number;
                tag: string;
            }>, "many">>;
            mentions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                start: z.ZodNumber;
                end: z.ZodNumber;
                username: z.ZodString;
                id: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                id: string;
                start: number;
                end: number;
                username: string;
            }, {
                id: string;
                start: number;
                end: number;
                username: string;
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            annotations?: {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }[] | undefined;
            urls?: {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }[] | undefined;
            hashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            cashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            mentions?: {
                id: string;
                start: number;
                end: number;
                username: string;
            }[] | undefined;
        }, {
            annotations?: {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }[] | undefined;
            urls?: {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }[] | undefined;
            hashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            cashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            mentions?: {
                id: string;
                start: number;
                end: number;
                username: string;
            }[] | undefined;
        }>>;
        geo: z.ZodOptional<z.ZodObject<{
            coordinates: z.ZodObject<{
                type: z.ZodString;
                coordinates: z.ZodNullable<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
            }, "strip", z.ZodTypeAny, {
                type: string;
                coordinates: [number, number] | null;
            }, {
                type: string;
                coordinates: [number, number] | null;
            }>;
            place_id: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            coordinates: {
                type: string;
                coordinates: [number, number] | null;
            };
            place_id: string;
        }, {
            coordinates: {
                type: string;
                coordinates: [number, number] | null;
            };
            place_id: string;
        }>>;
        in_reply_to_user_id: z.ZodOptional<z.ZodString>;
        lang: z.ZodOptional<z.ZodString>;
        public_metrics: z.ZodOptional<z.ZodObject<{
            retweet_count: z.ZodNumber;
            reply_count: z.ZodNumber;
            like_count: z.ZodNumber;
            quote_count: z.ZodNumber;
            impression_count: z.ZodNumber;
            bookmark_count: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            retweet_count: number;
            reply_count: number;
            like_count: number;
            quote_count: number;
            impression_count: number;
            bookmark_count?: number | undefined;
        }, {
            retweet_count: number;
            reply_count: number;
            like_count: number;
            quote_count: number;
            impression_count: number;
            bookmark_count?: number | undefined;
        }>>;
        referenced_tweets: z.ZodOptional<z.ZodArray<z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"retweeted">, z.ZodLiteral<"quoted">, z.ZodLiteral<"replied_to">]>;
            id: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "retweeted" | "quoted" | "replied_to";
            id: string;
        }, {
            type: "retweeted" | "quoted" | "replied_to";
            id: string;
        }>>, "many">>;
        source: z.ZodOptional<z.ZodString>;
    }, {
        text_html: z.ZodString;
        text_markdown: z.ZodString;
        view_type: z.ZodEnum<["none", "media", "link"]>;
        url_for_link_view: z.ZodOptional<z.ZodString>;
    }>, "strip", z.ZodTypeAny, {
        id: string;
        text: string;
        edit_history_tweet_ids: string[];
        text_html: string;
        text_markdown: string;
        view_type: "none" | "media" | "link";
        attachments?: {
            media_keys?: string[] | undefined;
            poll_ids?: string[] | undefined;
        } | undefined;
        author_id?: string | undefined;
        conversation_id?: string | undefined;
        created_at?: string | undefined;
        entities?: {
            annotations?: {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }[] | undefined;
            urls?: {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }[] | undefined;
            hashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            cashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            mentions?: {
                id: string;
                start: number;
                end: number;
                username: string;
            }[] | undefined;
        } | undefined;
        geo?: {
            coordinates: {
                type: string;
                coordinates: [number, number] | null;
            };
            place_id: string;
        } | undefined;
        in_reply_to_user_id?: string | undefined;
        lang?: string | undefined;
        public_metrics?: {
            retweet_count: number;
            reply_count: number;
            like_count: number;
            quote_count: number;
            impression_count: number;
            bookmark_count?: number | undefined;
        } | undefined;
        referenced_tweets?: ({
            type: "retweeted" | "quoted" | "replied_to";
            id: string;
        } | undefined)[] | undefined;
        source?: string | undefined;
        url_for_link_view?: string | undefined;
    }, {
        id: string;
        text: string;
        edit_history_tweet_ids: string[];
        text_html: string;
        text_markdown: string;
        view_type: "none" | "media" | "link";
        attachments?: {
            media_keys?: string[] | undefined;
            poll_ids?: string[] | undefined;
        } | undefined;
        author_id?: string | undefined;
        conversation_id?: string | undefined;
        created_at?: string | undefined;
        entities?: {
            annotations?: {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }[] | undefined;
            urls?: {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }[] | undefined;
            hashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            cashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            mentions?: {
                id: string;
                start: number;
                end: number;
                username: string;
            }[] | undefined;
        } | undefined;
        geo?: {
            coordinates: {
                type: string;
                coordinates: [number, number] | null;
            };
            place_id: string;
        } | undefined;
        in_reply_to_user_id?: string | undefined;
        lang?: string | undefined;
        public_metrics?: {
            retweet_count: number;
            reply_count: number;
            like_count: number;
            quote_count: number;
            impression_count: number;
            bookmark_count?: number | undefined;
        } | undefined;
        referenced_tweets?: ({
            type: "retweeted" | "quoted" | "replied_to";
            id: string;
        } | undefined)[] | undefined;
        source?: string | undefined;
        url_for_link_view?: string | undefined;
    }>;
    user: z.ZodUnion<[z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        username: z.ZodString;
        connection_status: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        created_at: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        entities: z.ZodOptional<z.ZodObject<{
            url: z.ZodOptional<z.ZodObject<{
                urls: z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
                    start: z.ZodNumber;
                    end: z.ZodNumber;
                }, {
                    url: z.ZodString;
                    expanded_url: z.ZodString;
                    display_url: z.ZodString;
                }>, "strip", z.ZodTypeAny, {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }, {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            }, {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            }>>;
            description: z.ZodOptional<z.ZodObject<{
                urls: z.ZodOptional<z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
                    start: z.ZodNumber;
                    end: z.ZodNumber;
                }, {
                    url: z.ZodString;
                    expanded_url: z.ZodString;
                    display_url: z.ZodString;
                }>, "strip", z.ZodTypeAny, {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }, {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }>, "many">>;
                hashtags: z.ZodOptional<z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
                    start: z.ZodNumber;
                    end: z.ZodNumber;
                }, {
                    tag: z.ZodOptional<z.ZodString>;
                    hashtag: z.ZodOptional<z.ZodString>;
                }>, "strip", z.ZodTypeAny, {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }, {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }>, "many">>;
                cashtags: z.ZodOptional<z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
                    start: z.ZodNumber;
                    end: z.ZodNumber;
                }, {
                    tag: z.ZodOptional<z.ZodString>;
                    cashtag: z.ZodOptional<z.ZodString>;
                }>, "strip", z.ZodTypeAny, {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }, {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }>, "many">>;
                mentions: z.ZodOptional<z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
                    start: z.ZodNumber;
                    end: z.ZodNumber;
                }, {
                    username: z.ZodOptional<z.ZodString>;
                }>, "strip", z.ZodTypeAny, {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }, {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            }, {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            url?: {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            } | undefined;
            description?: {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            } | undefined;
        }, {
            url?: {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            } | undefined;
            description?: {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            } | undefined;
        }>>;
        profile_image_url: z.ZodOptional<z.ZodString>;
        public_metrics: z.ZodOptional<z.ZodObject<{
            followers_count: z.ZodOptional<z.ZodNumber>;
            following_count: z.ZodOptional<z.ZodNumber>;
            tweet_count: z.ZodOptional<z.ZodNumber>;
            listed_count: z.ZodOptional<z.ZodNumber>;
            like_count: z.ZodOptional<z.ZodNumber>;
            media_count: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            like_count?: number | undefined;
            followers_count?: number | undefined;
            following_count?: number | undefined;
            tweet_count?: number | undefined;
            listed_count?: number | undefined;
            media_count?: number | undefined;
        }, {
            like_count?: number | undefined;
            followers_count?: number | undefined;
            following_count?: number | undefined;
            tweet_count?: number | undefined;
            listed_count?: number | undefined;
            media_count?: number | undefined;
        }>>;
        url: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        username: string;
        name: string;
        created_at?: string | undefined;
        url?: string | undefined;
        description?: string | undefined;
        entities?: {
            url?: {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            } | undefined;
            description?: {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            } | undefined;
        } | undefined;
        public_metrics?: {
            like_count?: number | undefined;
            followers_count?: number | undefined;
            following_count?: number | undefined;
            tweet_count?: number | undefined;
            listed_count?: number | undefined;
            media_count?: number | undefined;
        } | undefined;
        connection_status?: string[] | undefined;
        profile_image_url?: string | undefined;
    }, {
        id: string;
        username: string;
        name: string;
        created_at?: string | undefined;
        url?: string | undefined;
        description?: string | undefined;
        entities?: {
            url?: {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            } | undefined;
            description?: {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            } | undefined;
        } | undefined;
        public_metrics?: {
            like_count?: number | undefined;
            followers_count?: number | undefined;
            following_count?: number | undefined;
            tweet_count?: number | undefined;
            listed_count?: number | undefined;
            media_count?: number | undefined;
        } | undefined;
        connection_status?: string[] | undefined;
        profile_image_url?: string | undefined;
    }>, z.ZodNull]>;
    place: z.ZodUnion<[z.ZodObject<{
        id: z.ZodString;
        full_name: z.ZodString;
        contained_within: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        country: z.ZodOptional<z.ZodString>;
        country_code: z.ZodOptional<z.ZodString>;
        geo: z.ZodOptional<z.ZodObject<{
            type: z.ZodString;
            bbox: z.ZodArray<z.ZodNumber, "many">;
            properties: z.ZodAny;
        }, "strip", z.ZodTypeAny, {
            type: string;
            bbox: number[];
            properties?: any;
        }, {
            type: string;
            bbox: number[];
            properties?: any;
        }>>;
        name: z.ZodOptional<z.ZodString>;
        place_type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        full_name: string;
        geo?: {
            type: string;
            bbox: number[];
            properties?: any;
        } | undefined;
        name?: string | undefined;
        contained_within?: string[] | undefined;
        country?: string | undefined;
        country_code?: string | undefined;
        place_type?: string | undefined;
    }, {
        id: string;
        full_name: string;
        geo?: {
            type: string;
            bbox: number[];
            properties?: any;
        } | undefined;
        name?: string | undefined;
        contained_within?: string[] | undefined;
        country?: string | undefined;
        country_code?: string | undefined;
        place_type?: string | undefined;
    }>, z.ZodNull]>;
    media: z.ZodUnion<[z.ZodArray<z.ZodObject<{
        media_key: z.ZodString;
        type: z.ZodUnion<[z.ZodLiteral<"video">, z.ZodLiteral<"animated_gif">, z.ZodLiteral<"photo">, z.ZodString]>;
        url: z.ZodOptional<z.ZodString>;
        preview_image_url: z.ZodOptional<z.ZodString>;
        width: z.ZodOptional<z.ZodNumber>;
        height: z.ZodOptional<z.ZodNumber>;
        alt_text: z.ZodOptional<z.ZodString>;
        duration_ms: z.ZodOptional<z.ZodNumber>;
        public_metrics: z.ZodOptional<z.ZodObject<{
            view_count: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            view_count: number;
        }, {
            view_count: number;
        }>>;
        variants: z.ZodOptional<z.ZodArray<z.ZodObject<{
            bit_rate: z.ZodOptional<z.ZodNumber>;
            content_type: z.ZodUnion<[z.ZodLiteral<"video/mp4">, z.ZodLiteral<"application/x-mpegURL">, z.ZodString]>;
            url: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            url: string;
            content_type: string;
            bit_rate?: number | undefined;
        }, {
            url: string;
            content_type: string;
            bit_rate?: number | undefined;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: string;
        media_key: string;
        url?: string | undefined;
        width?: number | undefined;
        height?: number | undefined;
        public_metrics?: {
            view_count: number;
        } | undefined;
        preview_image_url?: string | undefined;
        alt_text?: string | undefined;
        duration_ms?: number | undefined;
        variants?: {
            url: string;
            content_type: string;
            bit_rate?: number | undefined;
        }[] | undefined;
    }, {
        type: string;
        media_key: string;
        url?: string | undefined;
        width?: number | undefined;
        height?: number | undefined;
        public_metrics?: {
            view_count: number;
        } | undefined;
        preview_image_url?: string | undefined;
        alt_text?: string | undefined;
        duration_ms?: number | undefined;
        variants?: {
            url: string;
            content_type: string;
            bit_rate?: number | undefined;
        }[] | undefined;
    }>, "many">, z.ZodNull]>;
    poll: z.ZodUnion<[z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        options: z.ZodArray<z.ZodObject<{
            position: z.ZodNumber;
            label: z.ZodString;
            votes: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            position: number;
            label: string;
            votes: number;
        }, {
            position: number;
            label: string;
            votes: number;
        }>, "many">;
        duration_minutes: z.ZodOptional<z.ZodNumber>;
        end_datetime: z.ZodOptional<z.ZodString>;
        voting_status: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        options: {
            position: number;
            label: string;
            votes: number;
        }[];
        id: string;
        duration_minutes?: number | undefined;
        end_datetime?: string | undefined;
        voting_status?: string | undefined;
    }, {
        options: {
            position: number;
            label: string;
            votes: number;
        }[];
        id: string;
        duration_minutes?: number | undefined;
        end_datetime?: string | undefined;
        voting_status?: string | undefined;
    }>, "many">, z.ZodNull]>;
}, "strip", z.ZodTypeAny, {
    tweet: {
        id: string;
        text: string;
        edit_history_tweet_ids: string[];
        text_html: string;
        text_markdown: string;
        view_type: "none" | "media" | "link";
        attachments?: {
            media_keys?: string[] | undefined;
            poll_ids?: string[] | undefined;
        } | undefined;
        author_id?: string | undefined;
        conversation_id?: string | undefined;
        created_at?: string | undefined;
        entities?: {
            annotations?: {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }[] | undefined;
            urls?: {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }[] | undefined;
            hashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            cashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            mentions?: {
                id: string;
                start: number;
                end: number;
                username: string;
            }[] | undefined;
        } | undefined;
        geo?: {
            coordinates: {
                type: string;
                coordinates: [number, number] | null;
            };
            place_id: string;
        } | undefined;
        in_reply_to_user_id?: string | undefined;
        lang?: string | undefined;
        public_metrics?: {
            retweet_count: number;
            reply_count: number;
            like_count: number;
            quote_count: number;
            impression_count: number;
            bookmark_count?: number | undefined;
        } | undefined;
        referenced_tweets?: ({
            type: "retweeted" | "quoted" | "replied_to";
            id: string;
        } | undefined)[] | undefined;
        source?: string | undefined;
        url_for_link_view?: string | undefined;
    };
    id: string;
    media: {
        type: string;
        media_key: string;
        url?: string | undefined;
        width?: number | undefined;
        height?: number | undefined;
        public_metrics?: {
            view_count: number;
        } | undefined;
        preview_image_url?: string | undefined;
        alt_text?: string | undefined;
        duration_ms?: number | undefined;
        variants?: {
            url: string;
            content_type: string;
            bit_rate?: number | undefined;
        }[] | undefined;
    }[] | null;
    user: {
        id: string;
        username: string;
        name: string;
        created_at?: string | undefined;
        url?: string | undefined;
        description?: string | undefined;
        entities?: {
            url?: {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            } | undefined;
            description?: {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            } | undefined;
        } | undefined;
        public_metrics?: {
            like_count?: number | undefined;
            followers_count?: number | undefined;
            following_count?: number | undefined;
            tweet_count?: number | undefined;
            listed_count?: number | undefined;
            media_count?: number | undefined;
        } | undefined;
        connection_status?: string[] | undefined;
        profile_image_url?: string | undefined;
    } | null;
    place: {
        id: string;
        full_name: string;
        geo?: {
            type: string;
            bbox: number[];
            properties?: any;
        } | undefined;
        name?: string | undefined;
        contained_within?: string[] | undefined;
        country?: string | undefined;
        country_code?: string | undefined;
        place_type?: string | undefined;
    } | null;
    poll: {
        options: {
            position: number;
            label: string;
            votes: number;
        }[];
        id: string;
        duration_minutes?: number | undefined;
        end_datetime?: string | undefined;
        voting_status?: string | undefined;
    }[] | null;
}, {
    tweet: {
        id: string;
        text: string;
        edit_history_tweet_ids: string[];
        text_html: string;
        text_markdown: string;
        view_type: "none" | "media" | "link";
        attachments?: {
            media_keys?: string[] | undefined;
            poll_ids?: string[] | undefined;
        } | undefined;
        author_id?: string | undefined;
        conversation_id?: string | undefined;
        created_at?: string | undefined;
        entities?: {
            annotations?: {
                type: string;
                start: number;
                end: number;
                probability: number;
                normalized_text: string;
            }[] | undefined;
            urls?: {
                start: number;
                end: number;
                url: string;
                expanded_url: string;
                display_url: string;
                status?: string | number | undefined;
                unwound_url?: string | undefined;
                title?: string | undefined;
                description?: string | undefined;
                media_key?: string | undefined;
                images?: {
                    url: string;
                    width: number;
                    height: number;
                }[] | undefined;
            }[] | undefined;
            hashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            cashtags?: {
                start: number;
                end: number;
                tag: string;
            }[] | undefined;
            mentions?: {
                id: string;
                start: number;
                end: number;
                username: string;
            }[] | undefined;
        } | undefined;
        geo?: {
            coordinates: {
                type: string;
                coordinates: [number, number] | null;
            };
            place_id: string;
        } | undefined;
        in_reply_to_user_id?: string | undefined;
        lang?: string | undefined;
        public_metrics?: {
            retweet_count: number;
            reply_count: number;
            like_count: number;
            quote_count: number;
            impression_count: number;
            bookmark_count?: number | undefined;
        } | undefined;
        referenced_tweets?: ({
            type: "retweeted" | "quoted" | "replied_to";
            id: string;
        } | undefined)[] | undefined;
        source?: string | undefined;
        url_for_link_view?: string | undefined;
    };
    id: string;
    media: {
        type: string;
        media_key: string;
        url?: string | undefined;
        width?: number | undefined;
        height?: number | undefined;
        public_metrics?: {
            view_count: number;
        } | undefined;
        preview_image_url?: string | undefined;
        alt_text?: string | undefined;
        duration_ms?: number | undefined;
        variants?: {
            url: string;
            content_type: string;
            bit_rate?: number | undefined;
        }[] | undefined;
    }[] | null;
    user: {
        id: string;
        username: string;
        name: string;
        created_at?: string | undefined;
        url?: string | undefined;
        description?: string | undefined;
        entities?: {
            url?: {
                urls: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[];
            } | undefined;
            description?: {
                urls?: {
                    start: number;
                    end: number;
                    url: string;
                    expanded_url: string;
                    display_url: string;
                }[] | undefined;
                hashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    hashtag?: string | undefined;
                }[] | undefined;
                cashtags?: {
                    start: number;
                    end: number;
                    tag?: string | undefined;
                    cashtag?: string | undefined;
                }[] | undefined;
                mentions?: {
                    start: number;
                    end: number;
                    username?: string | undefined;
                }[] | undefined;
            } | undefined;
        } | undefined;
        public_metrics?: {
            like_count?: number | undefined;
            followers_count?: number | undefined;
            following_count?: number | undefined;
            tweet_count?: number | undefined;
            listed_count?: number | undefined;
            media_count?: number | undefined;
        } | undefined;
        connection_status?: string[] | undefined;
        profile_image_url?: string | undefined;
    } | null;
    place: {
        id: string;
        full_name: string;
        geo?: {
            type: string;
            bbox: number[];
            properties?: any;
        } | undefined;
        name?: string | undefined;
        contained_within?: string[] | undefined;
        country?: string | undefined;
        country_code?: string | undefined;
        place_type?: string | undefined;
    } | null;
    poll: {
        options: {
            position: number;
            label: string;
            votes: number;
        }[];
        id: string;
        duration_minutes?: number | undefined;
        end_datetime?: string | undefined;
        voting_status?: string | undefined;
    }[] | null;
}>;

declare const TweetsLoaderConfigSchema: z.ZodEffects<z.ZodObject<{
    /**
     * An array of Tweet IDs to fetch content for.
     */
    ids: z.ZodArray<z.ZodString, "many">;
    /**
     * The method to store the loaded tweets:
     * - `'default'`: Uses Astro's default KV store (`./store/data-store.json`).
     * - `'custom'`: Use a custom JSON file path.
     * - `'both'`: Both default and custom path.
     *
     * @default 'default'
     */
    storage: z.ZodDefault<z.ZodEnum<["default", "custom", "both"]>>;
    /**
     * The custom output path for storing tweets, either absolute or
     * relative to the Astro project root. Must end with `.json`.
     * Required if `storage` is `'custom'` or `'both'`.
     *
     * @example
     * 'src/data/tweets.json'
     * './src/content/tweets.json'
     * '/absolute/path/to/tweets.json'
     */
    storePath: z.ZodDefault<z.ZodString>;
    /**
     * Whether to remove trailing URLs from the tweet text in the generated `text_html` and `text_markdown`,
     * typically used for views or referenced tweets.
     *
     * @default true
     */
    removeTrailingUrls: z.ZodDefault<z.ZodBoolean>;
    /**
     * The type of text to display for links when generating `text_html` and `text_markdown`:
     * - `'domain-path'`: Shows the link's domain and path.
     * - `'post-text'`: Uses the link text as shown in the tweet.
     *
     * @default 'post-text'
     */
    linkTextType: z.ZodDefault<z.ZodEnum<["domain-path", "post-text"]>>;
    /**
     * The way for processing `\n` in `text_html` generation:
     * - `'none'`: Keep as is.
     * - `'break'`: Replace consecutive `\n` with `<br>`.
     * - `'paragraph'`: Wrap paragraphs with `<p>` while removing standalone `\n`.
     *
     * @default 'none'
     */
    newlineHandling: z.ZodDefault<z.ZodEnum<["none", "break", "paragraph"]>>;
    /**
     * The X app-only Bearer Token for authentication.
     *
     * This is optional; by default, it reads from the `X_TOKEN` environment variable.
     * You may also configure it directly here (not recommended; if you do, ensure it is not exposed
     * in public code repositories).
     *
     * @see
     * - {@link https://developer.x.com/en/docs/authentication/oauth-2-0/bearer-tokens How to create an X app-only Bearer Token}
     * - {@link https://docs.astro.build/en/guides/environment-variables/#setting-environment-variables How to store token in Astro project environment variables}
     */
    authToken: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    ids: string[];
    storage: "default" | "custom" | "both";
    storePath: string;
    removeTrailingUrls: boolean;
    linkTextType: "post-text" | "domain-path";
    newlineHandling: "none" | "break" | "paragraph";
    authToken?: string | undefined;
}, {
    ids: string[];
    storage?: "default" | "custom" | "both" | undefined;
    storePath?: string | undefined;
    removeTrailingUrls?: boolean | undefined;
    linkTextType?: "post-text" | "domain-path" | undefined;
    newlineHandling?: "none" | "break" | "paragraph" | undefined;
    authToken?: string | undefined;
}>, {
    ids: string[];
    storage: "default" | "custom" | "both";
    storePath: string;
    removeTrailingUrls: boolean;
    linkTextType: "post-text" | "domain-path";
    newlineHandling: "none" | "break" | "paragraph";
    authToken?: string | undefined;
}, {
    ids: string[];
    storage?: "default" | "custom" | "both" | undefined;
    storePath?: string | undefined;
    removeTrailingUrls?: boolean | undefined;
    linkTextType?: "post-text" | "domain-path" | undefined;
    newlineHandling?: "none" | "break" | "paragraph" | undefined;
    authToken?: string | undefined;
}>;
type TweetsLoaderUserConfig = z.input<typeof TweetsLoaderConfigSchema>;

/**
 * Astro loader for loading tweets by ID.
 *
 * @see https://github.com/lin-stephanie/astro-loaders/tree/main/packages/astro-loader-tweets
 */
declare function tweetsLoader(userConfig: TweetsLoaderUserConfig): Loader;

export { TweetSchema, type TweetsLoaderUserConfig, tweetsLoader };
