import { DateLike } from "../../../common/types.js";
import { AdminNs } from "../../../namespaces/admin/common/types.js";
import { DcNs } from "../../../namespaces/dc/common/types.js";
import { DcTermsNs } from "../../../namespaces/dcterms/common/types.js";
import { GeoRssNs } from "../../../namespaces/georss/common/types.js";
import { MediaNs } from "../../../namespaces/media/common/types.js";
import { SlashNs } from "../../../namespaces/slash/common/types.js";
import { SyNs } from "../../../namespaces/sy/common/types.js";
import { WfwNs } from "../../../namespaces/wfw/common/types.js";
import { AtomNs } from "../../../namespaces/atom/common/types.js";
import { ContentNs } from "../../../namespaces/content/common/types.js";
import { RdfNs } from "../../../namespaces/rdf/common/types.js";
//#region src/feeds/rdf/common/types.d.ts
declare namespace Rdf {
  type Image = {
    title: string;
    link: string;
    url?: string;
    rdf?: RdfNs.About;
  };
  type TextInput = {
    title: string;
    description: string;
    name: string;
    link: string;
    rdf?: RdfNs.About;
  };
  type Item<TDate extends DateLike> = {
    title: string;
    link: string;
    description?: string;
    rdf?: RdfNs.About;
    atom?: AtomNs.Entry<TDate>;
    dc?: DcNs.ItemOrFeed<TDate>;
    content?: ContentNs.Item;
    slash?: SlashNs.Item;
    media?: MediaNs.ItemOrFeed;
    georss?: GeoRssNs.ItemOrFeed;
    dcterms?: DcTermsNs.ItemOrFeed<TDate>;
    wfw?: WfwNs.Item;
  };
  type Feed<TDate extends DateLike> = {
    title: string;
    link: string;
    description: string;
    image?: Image;
    items?: Array<Item<TDate>>;
    textInput?: TextInput;
    rdf?: RdfNs.About;
    atom?: AtomNs.Feed<TDate>;
    dc?: DcNs.ItemOrFeed<TDate>;
    sy?: SyNs.Feed<TDate>;
    media?: MediaNs.ItemOrFeed;
    georss?: GeoRssNs.ItemOrFeed;
    dcterms?: DcTermsNs.ItemOrFeed<TDate>;
    admin?: AdminNs.Feed;
  };
}
//#endregion
export { Rdf };