import { type HttpMetaParams } from "../../../interfaces/index.js"; import { type Marker, type MarkerItem, type MarkerTimeline } from "../../entities/v1/index.js"; import { type Method } from "../../method.js"; export interface FetchMarkersParams { /** * Array of markers to fetch. * String enum anyOf `home`, `notifications`. * If not provided, an empty object will be returned. */ readonly timeline?: readonly MarkerTimeline[] | null; } export type CreateMarkersParams = { /** ID of the last status read in the timeline. */ readonly [key in MarkerTimeline]?: Pick; }; export interface MarkersResource { /** * Get saved timeline position * @param params Parameters * @return Markers * @see https://docs.joinmastodon.org/methods/timelines/markers/ */ fetch: Method; /** * Save position in timeline * @param params Parameters * @return Markers * @see https://github.com/tootsuite/mastodon/pull/11762 */ create: Method>; } /** @deprecated Use `MarkersResource` instead */ export type MarkerRepository = MarkersResource;