type YouTubeActionType = 'summarize' | 'transcript' | 'stats'; interface YouTubeOptions { customResponse?: Record | string; customPrompt?: string; } interface YouTubeSummaryData { url?: string; summary?: string; mainTopics?: string[]; keyPoints?: string[]; tone?: string; targetAudience?: string; quotes?: string[]; timeline?: string; [key: string]: any; } interface YouTubeTranscriptData { url?: string; transcript?: string; transcriptSegments?: Array<{ text: string; start: number; duration: number; timestamp: string; }>; wordCount?: number; segments?: number; [key: string]: any; } interface YouTubeStatsData { url?: string; title?: string; channelName?: string; channelLink?: string; views?: number; likes?: number; comments?: number; [key: string]: any; } type YouTubeData = YouTubeSummaryData | YouTubeTranscriptData | YouTubeStatsData; interface YouTubeResponseMetadata { executedAt: string; integrationKey: string; capabilityId: string; credentialName: string; action: YouTubeActionType; url: string; options: YouTubeOptions; } interface YouTubeResponse { success: boolean; message?: string; error?: string; data?: YouTubeData; metadata?: YouTubeResponseMetadata; } interface YouTubeRequest { url: string; action: YouTubeActionType; options?: YouTubeOptions; } /** * React hook for YouTube video analysis with loading, error states * @returns Object with YouTube analysis functions and state management */ export declare function useYouTube(): { analyzeVideo: (request: YouTubeRequest) => Promise; summarizeVideo: (url: string, options?: YouTubeOptions) => Promise; getTranscript: (url: string) => Promise; getStats: (url: string) => Promise; reset: () => void; loading: boolean; error: string | null; success: boolean; }; export {}; //# sourceMappingURL=useYouTube.d.ts.map