import type { DidString } from '@atproto/lex-schema'; import { type Headers as HeadersMap, type Server } from '@atproto/xrpc-server'; import type { ServerConfig } from '../../../../config.js'; import type { AppContext } from '../../../../context.js'; import type { FeedItem } from '../../../../hydration/feed.js'; import type { HydrateCtx } from '../../../../hydration/hydrator.js'; export default function (server: Server, ctx: AppContext): void; /** * Iris' endpoint, when it should serve this request in place of the feed's * registered feed generator (seeemore). * * Logged-in viewers are routed by their per-feed gate. Logged-out viewers * have no DID, but the client sends a stable device id (stable_id) that * GrowthBook can bucket on, so they are routed by the dedicated * Gate.IrisFeedLoggedOutEnable gate instead. Requests without a stable * device id are never routed: the feature-gates context falls back to a * random id per request, which would flip backends between pages and send a * cursor to the backend that did not mint it. */ export declare const irisUrlForFeed: (cfg: Pick, params: { feed: string; stableDeviceId: string | null; hydrateCtx: { viewer: HydrateCtx['viewer']; features: Pick; }; }) => string | undefined; /** * Iris staging's endpoint, when it should serve this request in place of the * feed's registered feed generator. */ export declare const irisStagingUrlForFeed: (cfg: Pick, params: { feed: string; }) => string | undefined; /** * Iris' local endpoint for configured trending feeds registered to Iris. */ export declare function irisUrlForTrendingFeed(cfg: Pick, params: { feed: string; feedDid: DidString; }): string | undefined; export type AlgoResponse = { feedItems: AlgoResponseItem[]; resHeaders?: HeadersMap; cursor?: string; reqId?: string; }; export type AlgoResponseItem = FeedItem & { feedContext?: string; }; //# sourceMappingURL=getFeed.d.ts.map