import { type HttpMetaParams } from "../../../interfaces/index.js"; import { type Filter, type FilterContext } from "../../entities/v1/index.js"; import { type Method } from "../../method.js"; import { type Paginator } from "../../paginator.js"; export interface CreateFilterParams { /** Text to be filtered */ readonly phrase: string; /** * Array of enumerable strings `home`, `notifications`, `public`, `thread`. * At least one context must be specified. */ readonly context: readonly FilterContext[]; /** Should the server irreversibly drop matching entities from home and notifications? */ readonly irreversible?: boolean | null; /** Consider word boundaries? */ readonly wholeWord?: boolean | null; /** ISO 8601 Date-time for when the filter expires. Otherwise, null for a filter that doesn't expire. */ readonly expiresIn?: number | null; } export type UpdateFilterParams = CreateFilterParams; export interface Filters$SelectResource { /** * View a single filter * @return Returns Filter * @see https://docs.joinmastodon.org/methods/accounts/filters/ */ fetch: Method; /** * Update a filter * @param params Parameters * @return Filter * @see https://docs.joinmastodon.org/methods/accounts/filters/ */ update: Method>; /** * Remove a filter * @return N/A * @see https://docs.joinmastodon.org/methods/accounts/filters/ */ remove: Method; } export interface FiltersResource { $select(id: string): Filters$SelectResource; /** * View all filters * @return Filter * @see https://docs.joinmastodon.org/methods/accounts/filters/ */ list: Method>; /** * Create a filter * @param params Parameters * @return Filter * @see https://docs.joinmastodon.org/methods/accounts/filters/ */ create: Method>; } /** @deprecated Use `FiltersResource` instead. */ export type FilterRepository = FiltersResource; /** @deprecated Use `Filters$SelectResource` instead. */ export type Filter$SelectResource = Filters$SelectResource;