import type { KeysToCamel } from "../lib/transformCase.js"; import type { BaseEdgeOptions, FbFieldSelector, FbPickDeep, Fields } from "./shared.js"; export interface PageInsightMetricsMap { page_media_view: number; page_total_media_view_unique: number; page_post_engagements: number; page_total_actions: number; page_daily_follows: number; page_daily_follows_unique: number; page_daily_unfollows_unique: number; page_follows: number; page_lifetime_engaged_followers_unique: number; page_fans: number; page_fan_adds: number; page_fan_adds_unique: number; page_fan_removes: number; page_fan_removes_unique: number; page_fans_locale: Record; page_fans_city: Record; page_fans_country: Record; page_fans_gender_age: Record; page_actions_post_reactions_like_total: number; page_actions_post_reactions_love_total: number; page_actions_post_reactions_wow_total: number; page_actions_post_reactions_haha_total: number; page_actions_post_reactions_sorry_total: number; page_actions_post_reactions_anger_total: number; page_actions_post_reactions_total: Record; page_video_views: number; page_video_views_unique: number; page_video_repeat_views: number; page_video_complete_views_30s: number; page_video_complete_views_30s_unique: number; page_video_complete_views_30s_repeat_views: number; page_video_view_time: number; page_video_views_by_paid_non_paid: Record; page_video_views_by_uploaded_hosted: Record; content_monetization_earnings: { currency: "USD"; microAmount: number; }; } type PageInsightMetricsRaw = { [K in keyof PageInsightMetricsMap]: InsightEntryRaw; }; export type PageInsightMetrics = KeysToCamel; export interface PostInsightMetricsMap { post_media_view: number; post_total_media_view_unique: number; post_impressions: number; post_impressions_unique: number; post_impressions_fan: number; post_impressions_fan_unique: number; post_clicks: number; post_clicks_by_type: Record; post_activity_by_action_type: Record; post_activity_by_action_type_unique: Record; post_reactions_like_total: number; post_reactions_love_total: number; post_reactions_wow_total: number; post_reactions_haha_total: number; post_reactions_sorry_total: number; post_reactions_anger_total: number; post_reactions_by_type_total: Record; post_video_views: number; post_video_views_unique: number; post_video_views_15s: number; post_video_views_60s_excludes_shorter: number; post_video_views_sound_on: number; post_video_views_live: number; post_video_length: number; post_video_avg_time_watched: number; post_video_view_time: number; post_video_complete_views_30s_unique: number; post_video_retention_graph: Record; post_video_social_actions_count_unique: number; post_video_views_by_distribution_type: Record; post_video_views_by_live_status: Record; post_video_view_time_by_distribution_type: Record; post_video_view_time_by_age_bucket_and_gender: Record; post_video_view_time_by_region_id: Record; post_video_view_time_by_country_id: Record; content_monetization_earnings: { currency: "USD"; microAmount: number; }; } type PostInsightMetricsRaw = { [K in keyof PostInsightMetricsMap]: InsightEntryRaw; }; export type PostInsightMetrics = KeysToCamel; export interface InsightEntryRaw { name: M; values: { value: V; end_time?: string; }[]; } export type InsightRawResponse = { data: InsightEntryRaw[]; paging?: InsightPaging; }; export type InsightRawResponseCamelCase = KeysToCamel; export interface InsightEdgeOptions extends BaseEdgeOptions { period?: "day" | "week" | "days_28" | "lifetime" | "total_over_range"; date_preset?: "yesterday" | "last_month" | "last_year" | "last_7d" | "last_14d" | "last_28d" | "last_90d"; } export type InsightOptions = KeysToCamel; export type InsightPaging = { next: string; previous: string; }; export type InsightQuery> = { fields: Fields; options?: InsightOptions; }; export interface InsightValue { value: V; endTime: number; } export interface NumericInsightResult { timeSeries: InsightValue[]; total: number; } export interface RecordInsightResult> { timeSeries: InsightValue[]; snapshot: V; } export type InsightResult = V extends number ? NumericInsightResult : V extends { microAmount: number; } ? NumericInsightResult : V extends Record ? RecordInsightResult : never; type InsightEntry = KeysToCamel>; type ExtractInsightValue = E extends InsightEntry ? V : never; export type InsightResponse> = { [K in keyof FbPickDeep]: InsightResult[K]>>; }; export {}; //# sourceMappingURL=facebookinsights.d.ts.map