export interface DataForSeoEnvelope { version: string; status_code: number; status_message: string; time: string; cost: number; tasks_count: number; tasks_error: number; tasks: DataForSeoTask[]; } export interface DataForSeoTask { id: string; status_code: number; status_message: string; time: string; cost: number; result_count: number; path: string[]; data: Record; result: DataForSeoTaskResult[]; } export interface DataForSeoTaskResult { total_count?: number; items_count?: number; items: Record[]; [key: string]: unknown; } export interface RawKeywordOverviewItem { keyword: string; keyword_info: { search_volume: number | null; cpc: number | null; competition_level: string | null; monthly_searches: Array<{ year: number; month: number; search_volume: number; }> | null; }; keyword_properties: { keyword_difficulty: number | null; }; search_intent_info: { main_intent: string | null; }; } export interface RawKeywordSuggestionItem { keyword: string; keyword_info: { search_volume: number | null; cpc: number | null; competition_level: string | null; }; keyword_properties: { keyword_difficulty: number | null; }; search_intent_info: { main_intent: string | null; }; } export interface RawRelatedKeywordItem { keyword_data: { keyword: string; keyword_info: { search_volume: number | null; cpc: number | null; competition_level: string | null; }; keyword_properties: { keyword_difficulty: number | null; }; search_intent_info: { main_intent: string | null; }; }; } export interface RawBulkDifficultyItem { keyword: string; keyword_difficulty: number | null; } export interface RawSerpItem { type: string; rank_group?: number; rank_absolute?: number; domain?: string; url?: string; title?: string; description?: string; items?: Record[]; references?: Array<{ domain: string; url: string; }>; } export interface RawRankedKeywordItem { keyword_data: { keyword: string; keyword_info: { search_volume: number | null; cpc: number | null; }; }; ranked_serp_element: { serp_item: { rank_group: number | null; url: string; }; }; } export interface RawDomainIntersectionItem { keyword_data: { keyword: string; keyword_info: { search_volume: number | null; cpc: number | null; }; }; first_domain_serp_element: { rank_group: number | null; }; second_domain_serp_element: { rank_group: number | null; }; } export interface RawSerpCompetitorItem { domain: string; avg_position: number; se_keywords: number; rating: number; } export interface RawContentItem { page_content: { main_topic: Array<{ h_title: string; level: number; primary_content: Array<{ text: string; }>; }>; }; }