export type RowErrorReason = | "bad-response" | "missing-author-id" | "request-failed" | "timeout"; export type MarketRowState = | { authorId: string; listSeq: number; state: "loading"; } | { authorId: string; listSeq: number; personalVideoAfterSearchRate: string; singleVideoAfterSearchRate: string; source: "cache" | "network"; state: "success"; } | { authorId: string | null; listSeq: number; reason: RowErrorReason; retryable: boolean; state: "error"; };