import { youtube_v3 } from "googleapis"; import type { ChannelCache } from "../../types/niche.types.js"; export declare const STALENESS_DAYS_NEW = 14; export declare const STALENESS_DAYS_ESTABLISHED = 45; export declare const MIN_AVG_VIEWS_THRESHOLD = 1000; export declare const MAX_SUBSCRIBER_CAP = 100000; export declare const MIN_SUBSCRIBER_THRESHOLD = 1000; export declare const MIN_OUTLIER_VIEW_COUNT = 1000; export declare const MIN_VIDEO_DURATION_SECONDS = 180; export declare function isQuotaError(error: unknown): boolean; export declare function calculateChannelAgePublishedAfter(channelAge: "NEW" | "ESTABLISHED"): string; export declare function getOutlierMultiplier(outlierMagnitude: "STANDARD" | "STRONG"): number; export declare function getConsistencyThreshold(consistencyLevel: "MODERATE" | "HIGH"): number; export declare function applyStalnessHeuristic(channel: ChannelCache, channelAge: "NEW" | "ESTABLISHED"): boolean; export declare function calculateDerivedMetrics(channel: ChannelCache): { historicalAvgViewsPerVideo: number; libraryEngagementRatio: number; }; export declare function calculateChannelAge(createdAt: Date): number; export declare function isValidChannelAge(ageInMonths: number, channelAge: "NEW" | "ESTABLISHED"): boolean; export declare function shouldSkipReAnalysis(channelData: ChannelCache): boolean; /** * Parses an ISO 8601 duration string (e.g., "PT1M30S") into total seconds. * Handles hours, minutes, and seconds. * @param duration The ISO 8601 duration string. * @returns The total duration in seconds. */ export declare function parseISO8601Duration(duration: string): number; export declare function calculateConsistencyMetrics(videos: youtube_v3.Schema$Video[], subscriberCount: number): { sourceVideoCount: number; metrics: { STANDARD: { outlierVideoCount: number; consistencyPercentage: number; }; STRONG: { outlierVideoCount: number; consistencyPercentage: number; }; }; };