import type { MiddlewareHandler } from 'hono'; import type { Pretty } from '../types/utils.js'; export type NeynarVariables = { /** * The cast of the frame. */ cast?: Pretty | undefined; /** * The user who interacted with the frame. */ interactor?: Pretty | undefined; }; export type NeynarMiddlewareParameters = { /** * Neynar API Key. */ apiKey: string; /** * Set of features to enable and inject into context. * * - `interactor`: Fetches the user who interacted with the frame. * - `cast`: Fetches the cast of the frame. */ features: ('interactor' | 'cast')[]; }; export declare function neynar(parameters: NeynarMiddlewareParameters): MiddlewareHandler<{ Variables: NeynarVariables; }>; export type NeynarCast = { author: NeynarUser; embeds: { url: string; }[]; frames: unknown; hash: string; mentionedProfiles: NeynarUser[]; object: 'cast'; parentAuthor: { fid: number | null; }; parentHash: string | null; parentUrl: string; reactions: { likes: { fid: number; fname: string; }[]; recasts: { fid: number; fname: string; }[]; }; replies: { count: number; }; rootParentUrl: string; text: string; threadHash: string; timestamp: string; }; export type NeynarUser = { activeStatus: 'active' | 'inactive'; custodyAddress: string; displayName: string; fid: number; followerCount: number; followingCount: number; object: 'user'; pfpUrl: string; profile: { bio: { text: string; mentionedProfiles: string[]; }; }; username: string; verifications: string[]; verifiedAddresses: { ethAddresses: string[]; solAddresses: string[]; }; viewerContext?: { following: boolean; followedBy: boolean; }; }; //# sourceMappingURL=neynar.d.ts.map