import type { FrameContext } from '../types/context.js'; import { type FrameImageAspectRatio, type FrameVersion } from '../types/frame.js'; export type RequestBody = { buttonIndex: number; castId: { fid: number; hash: string; }; fid?: number | undefined; inputText?: string | undefined; state?: string | undefined; }; export type Frame = { buttons?: readonly FrameButton[] | undefined; debug?: { htmlTags: readonly string[]; state?: string | undefined; } | undefined; imageAspectRatio: FrameImageAspectRatio; image: string; imageUrl: string; input?: { text: string; } | undefined; postUrl: string; state: string; title: string; version: FrameVersion; }; export type FrameButton = { index: 1 | 2 | 3 | 4; title: string; } & ({ type: 'link'; target: `http://${string}` | `https://${string}`; } | { type: 'mint'; target: `eip155:${string}`; } | { type: 'post' | 'post_redirect'; target?: `http://${string}` | `https://${string}` | undefined; }); export type State = { context: FrameContext; }; export type SignedKeyRequestResponse = { result: { signedKeyRequest: SignedKeyRequest; }; }; type SignedKeyRequest = { token: string; deeplinkUrl: string; key: string; requestFid: number; isSponsored: boolean; } & ({ state: 'pending'; signerUser: { fid: number; username: string; displayName: string; pfp: { url: string; verified: false; }; profile: { bio: { text: string; mentions: string[]; channelMentions: string[]; }; location: { placeId: string; description: string; }; }; followerCount: number; followingCount: number; activeOnFcNetwork: boolean; viewerContext: { following: boolean; followedBy: boolean; }; }; signerUserMetadata: { createdAt: number; usersCount: number; viewerContext: { existingKeysCountForViewer: number; }; }; userFid: undefined; } | { state: 'approved' | 'completed'; signerUser: undefined; signerUserMetadata: undefined; userFid: number; }); export type UserDataByFidResponse = { messages: { data: { type: 'MESSAGE_TYPE_USER_DATA_ADD'; userDataBody: { type: 'USER_DATA_TYPE_PFP' | 'USER_DATA_TYPE_USERNAME' | 'USER_DATA_TYPE_DISPLAY'; value: string; }; }; }[]; }; export {}; //# sourceMappingURL=types.d.ts.map