import { CommonGoogleTrendsApiParameters } from '../assertions/defineCommonGoogleTrendsApiParametersValue'; import { AgentOptions } from '../common'; export interface CommonGoogleTrendsApiExplorationParamters { /** * the keywords you want to fetch trends data for or compare * * for example: * - `['disposal', 'recycling'] */ keywords: string[]; /** * the geographical area you want to scope the analysis to * * defaults to 'US' * * for example: * - `US` */ geo?: string; /** * the relative time range you want to scope the analysis to * * defaults to `today 12-m`, past 12 months * * for example: * - `now 4-h` = past 4 hours * - `now 1-d` = past day * - `now 7-d` = past 7 days * - `today 1-m` = past 30 days * - `today 3-m` = past 90 days * - `today 12-m` = past 12 months * - `today 5-y` = past 5 years * - `all` = 2004 to present */ time?: string; /** * the category you want to scope the analysis to * * defaults to `0`, all categories * * for example * - `0` = all categories * - `11` = home and garden * - `29` = real estate */ category?: number; /** * the properties from which you want to include search data * * defaults to ``, web search * * for example: * - `` = web search * - `images` = image search * - `news` = news search * - `froogle` = google shopping search * - `youtube` = youtube search */ property?: string; } export interface GoogleTrendsApiExplorationWidget { /** * the request object is conviniently provided by google to help us make subsequent requests for the widgets data * * specifically * - we use this data as the `req` query parameter for the appropriate endpoint to get the data correctly * - this `request` is coupled with the token returned on the widget */ request: Record; /** * the help dialog describes what this widget's data tells us */ helpDialog: { title: string; description: string; url: string; }; /** * for example * - 'PALETTE_COLOR_1'; */ color: string; /** * for example * - 'mattress recycling'; */ keywordName: string; /** * the token needed to make the subsequent reqeust to fetch the widget's data * - to be used along with the `request` param */ token: string; /** * for example * - 'RELATED_QUERIES'; */ id: string; /** * for example * - 'fe_related_searches'; */ type: string; /** * for example * - 'Related queries'; */ title: string; /** * for example * - 'fe'; */ template: string; /** * for example * - 'fe'; */ embedTemplate: string; /** * for example * - '1' */ version: string; isLong: boolean; isCurated: boolean; } /** * google returns exploration widgets when you search for keywords, to build their web interface. * * for us, it has two uses: * - enumerating and describing all of the data that can be looked up * - defining the tokens required to access the data that can be looked up * * for example: * - https://trends.google.com/trends/api/explore?hl=en-US&tz=240&req=%7B%22comparisonItem%22:%5B%7B%22keyword%22:%22mattress+disposal%22,%22geo%22:%22US%22,%22time%22:%22today 12-m%22%7D%5D,%22category%22:0,%22property%22:%22%22%7D&tz=240 */ export declare const getExplorationWidgets: ({ keywords, geo, time, category, property, hl, tz, }: CommonGoogleTrendsApiExplorationParamters & CommonGoogleTrendsApiParameters, agentOptions?: AgentOptions) => Promise<{ widgets: GoogleTrendsApiExplorationWidget[]; }>;