/** * @file TypeScript type definitions * @module federation/types */ import type { z } from "zod"; import type { DeleteSchema, EntitySchema, FollowAcceptSchema, FollowRejectSchema, FollowSchema, GroupSchema, InstanceMetadataSchema, NoteSchema, PublicKeyDataSchema, UnfollowSchema, UserSchema, } from "./schemas/base"; import type { AudioOnlyContentFormatSchema, ContentFormatSchema, ImageOnlyContentFormatSchema, TextOnlyContentFormatSchema, } 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 ActorPublicKeyData = InferType; export type ExtensionProperty = 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 ImageContentFormat = InferType; export type TextContentFormat = InferType; export type AudioContentFormat = 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 Like = InferType; export type Dislike = InferType; export type Vote = InferType; export type Reaction = InferType; export type Share = InferType;