import { type Activity, type DomainBlock, type ExtendedDescription, type Instance } from "../../entities/v1/index.js"; import { type Method } from "../../method.js"; import { type Paginator } from "../../paginator.js"; export interface InstancePeersResource { /** * Domains that this instance is aware of. * @return Array of Activity * @see https://docs.joinmastodon.org/methods/instance/ */ list: Method>; } export interface InstanceActivityResource { /** * Instance activity over the last 3 months, binned weekly. * @return Array of Activity * @see https://docs.joinmastodon.org/methods/instance/#activity */ list: Method>; } export interface InstanceLanguagesResource { /** https://github.com/mastodon/mastodon/pull/24443 */ list: Method; } export interface InstanceExtendedDescriptionResource { /** * Obtain an extended description of this server */ fetch: Method; } export interface InstanceTranslationLanguagesResource { /** https://github.com/mastodon/mastodon/pull/24037 */ list: Method>; } export interface InstanceDomainBlocksResource { /** * Obtain a list of domains that have been blocked. * @see https://docs.joinmastodon.org/methods/instance/#domain_blocks */ fetch: Method; } export interface InstanceResource { peers: InstancePeersResource; activity: InstanceActivityResource; languages: InstanceLanguagesResource; extendedDescription: InstanceExtendedDescriptionResource; translationLanguages: InstanceTranslationLanguagesResource; domainBlocks: InstanceDomainBlocksResource; /** * Information about the server. * @return Instance * @see https://docs.joinmastodon.org/methods/instance/ */ fetch: Method; } /** @deprecated Use `InstanceResource` instead. */ export type InstanceRepository = InstanceResource;