import type { BrowserMetadata, CDKMetadata, LambdaMetadata } from '../../../lib/runtime-web/types';
/**
 * Collect browser environment metadata.
 *
 * Extracts relevant information from the browser environment including
 * user agent, current URL, and viewport dimensions. This metadata is
 * used for debugging and analytics purposes.
 *
 * @returns Browser metadata object
 * @throws Error if browser APIs are not available
 *
 * @example
 * ```typescript
 * const metadata = getBrowserMetadata();
 * console.log(`User is on ${metadata.url} with ${metadata.viewport.width}x${metadata.viewport.height} viewport`);
 * ```
 */
export declare function getBrowserMetadata(): BrowserMetadata;
/**
 * Collect Lambda environment metadata.
 *
 * Extracts relevant information from the AWS Lambda runtime environment
 * including function details, region, memory configuration, and request context.
 * Uses environment variables provided by the Lambda runtime.
 *
 * @returns Lambda metadata object
 * @throws Error if required Lambda environment variables are missing
 *
 * @example
 * ```typescript
 * const metadata = getLambdaMetadata();
 * console.log(`Lambda ${metadata.functionName} in ${metadata.region} with ${metadata.memoryLimit}MB`);
 * ```
 */
export declare function getLambdaMetadata(): LambdaMetadata;
/**
 * Collect CDK environment metadata.
 *
 * Extracts relevant information from the CDK environment including
 * AWS account, region, CDK version, and Node.js version. This metadata
 * is used for deployment context and debugging.
 *
 * @returns CDK metadata object
 *
 * @example
 * ```typescript
 * const metadata = getCDKMetadata();
 * console.log(`Deploying to account ${metadata.account} in ${metadata.region}`);
 * ```
 */
export declare function getCDKMetadata(): CDKMetadata;
