/** * @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"; import type { ContentFormatSchema } from "./schemas/content_format"; import type { ExtensionPropertySchema } from "./schemas/extensions"; import type { CustomEmojiExtensionSchema } from "./schemas/extensions/custom_emojis"; import type { LikeSchema } from "./schemas/extensions/likes"; import type { VoteSchema } from "./schemas/extensions/polls"; import type { ReactionSchema } from "./schemas/extensions/reactions"; import type { ShareSchema } from "./schemas/extensions/share"; import type { VanityExtensionSchema } from "./schemas/extensions/vanity"; // 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;