n8n-nodes-google-pagespeed
Version:
n8n community node for Google PageSpeed Insights API with comprehensive performance, accessibility, and SEO analysis
36 lines • 1.91 kB
TypeScript
import { IExecuteFunctions } from 'n8n-workflow';
import { PageSpeedApiResponse, ErrorResponse, ApiRequestConfig, AdditionalFields } from '../interfaces';
/**
* Make PageSpeed API request with enhanced error handling and retry logic
* @param context - n8n execution context
* @param apiKey - Google API key
* @param config - API request configuration
* @param additionalFields - Additional request options
* @returns PageSpeed API response or error response
*/
export declare function makePageSpeedRequest(context: IExecuteFunctions, apiKey: string, config: ApiRequestConfig, additionalFields?: AdditionalFields): Promise<PageSpeedApiResponse | ErrorResponse>;
/**
* Process batch of URLs with controlled concurrency and rate limiting
* @param context - n8n execution context
* @param apiKey - Google API key
* @param configs - Array of API request configurations
* @param additionalFields - Additional request options
* @param onProgress - Optional progress callback
* @returns Array of PageSpeed results
*/
export declare function batchProcessUrls(context: IExecuteFunctions, apiKey: string, configs: ApiRequestConfig[], additionalFields?: AdditionalFields, onProgress?: (completed: number, total: number) => void): Promise<Array<PageSpeedApiResponse | ErrorResponse>>;
/**
* Validate API key by making a test request
* @param context - n8n execution context
* @param apiKey - Google API key to validate
* @returns True if API key is valid
*/
export declare function validateApiKey(context: IExecuteFunctions, apiKey: string): Promise<boolean>;
/**
* Estimate API quota usage for a batch of URLs
* @param urlCount - Number of URLs to analyze
* @param strategies - Array of strategies ('desktop', 'mobile', or 'both')
* @returns Estimated quota usage
*/
export declare function estimateQuotaUsage(urlCount: number, strategies: string[]): number;
//# sourceMappingURL=apiUtils.d.ts.map