import { type Search } from "../../entities/v2/index.js"; import { type Method } from "../../method.js"; import { type Paginator } from "../../paginator.js"; import { type DefaultPaginationParams } from "../../resource.js"; export interface SearchTypeRegistry { accounts: never; hashtags: never; statuses: never; } export type SearchType = keyof SearchTypeRegistry; export interface SearchParams extends DefaultPaginationParams { /** Attempt WebFinger lookup. Defaults to false. */ readonly q: string; /** Enum(accounts, hashtags, statuses) */ readonly type?: SearchType | null; /** Attempt WebFinger look-up */ readonly resolve?: boolean | null; /** If provided, statuses returned will be authored only by this account */ readonly accountId?: string | null; /** Filter out unreviewed tags? Defaults to false. Use true when trying to find trending tags. */ readonly excludeUnreviewed?: boolean | null; /** Only include accounts that the user is following. Defaults to false. */ readonly following?: boolean | null; /** Skip the first n results. */ readonly offset?: number | null; } export interface SearchResource { /** * Perform a search * @param params Parameters * @return Results * @see https://docs.joinmastodon.org/methods/search/ */ list: Method, SearchParams>; } /** @deprecated Use SearchResource instead. */ export type SearchRepository = SearchResource;