/** * @file TypeScript type definitions * @module federation/types */ import type { z } from "zod"; import type { CollectionSchema, DeleteSchema, EntitySchema, FollowAcceptSchema, FollowRejectSchema, FollowSchema, GroupSchema, InstanceMetadataSchema, NoteSchema, UnfollowSchema, UserSchema, } from "./schemas/base.ts"; import type { ContentFormatSchema } from "./schemas/content_format.ts"; import type { ExtensionPropertySchema } from "./schemas/extensions.ts"; import type { CustomEmojiExtensionSchema } from "./schemas/extensions/custom_emojis.ts"; import type { DislikeSchema, LikeSchema } from "./schemas/extensions/likes.ts"; import type { VoteSchema } from "./schemas/extensions/polls.ts"; import type { ReactionSchema } from "./schemas/extensions/reactions.ts"; import type { ShareSchema } from "./schemas/extensions/share.ts"; import type { VanityExtensionSchema } from "./schemas/extensions/vanity.ts"; // biome-ignore lint/suspicious/noExplicitAny: Used only as a base type type AnyZod = z.ZodType; type InferType = z.infer; export type Note = InferType; export type Collection = InferType; export type EntityExtensionProperty = InferType; export type VanityExtension = InferType; export type User = InferType; export type Follow = InferType; export type FollowAccept = InferType; export type FollowReject = InferType; export type ContentFormat = InferType; export type CustomEmojiExtension = InferType; export type Entity = InferType; export type Delete = InferType; export type Group = InferType; export type InstanceMetadata = InferType; export type Unfollow = InferType; export type LikeExtension = InferType; export type DislikeExtension = InferType; export type PollVoteExtension = InferType; export type ReactionExtension = InferType; export type ShareExtension = InferType;