import { z } from 'zod';
import { Languages } from '../hooks/useLanguage.js';
import 'react/jsx-runtime';
import 'react';

type News = {
    title: string;
    date: Date;
    description: (string | URL)[];
    externalResource?: URL;
    keys: string[];
};
type LocalizedNews = Record<Languages, News[]>;
declare const newsSchema: z.ZodEffects<z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    date: z.ZodString;
    image: z.ZodOptional<z.ZodString>;
    externalResource: z.ZodOptional<z.ZodString>;
    keys: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}>, News, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}>;
declare const newsListSchema: z.ZodArray<z.ZodEffects<z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    date: z.ZodString;
    image: z.ZodOptional<z.ZodString>;
    externalResource: z.ZodOptional<z.ZodString>;
    keys: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}>, News, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}>, "many">;
declare const localizedNewsSchema: z.ZodRecord<z.ZodEnum<["en", "de"]>, z.ZodArray<z.ZodEffects<z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    date: z.ZodString;
    image: z.ZodOptional<z.ZodString>;
    externalResource: z.ZodOptional<z.ZodString>;
    keys: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}>, News, {
    title: string;
    date: string;
    description: string;
    keys: string[];
    image?: string | undefined;
    externalResource?: string | undefined;
}>, "many">>;
declare const filterNews: (localizedNews: News[], requiredKeys: string[]) => News[];

export { type LocalizedNews, type News, filterNews, localizedNewsSchema, newsListSchema, newsSchema };
