/** * QA360 Web Crawler * * Automatically discovers and analyzes web applications for E2E test generation */ import type { CrawlOptions, CrawlResult, PageDefinition, CrawlProgress, CrawlEventHandler } from './types.js'; /** * Web Crawler class */ export declare class WebCrawler { private options; private eventHandler?; private analyzer; private visited; private queue; private pages; private errors; private warnings; private startTime; private readonly defaultOptions; constructor(options: CrawlOptions); /** * Set event handler for progress updates */ on(event: CrawlEventHandler): void; /** * Emit event to handler */ private emit; /** * Normalize URL for comparison */ private normalizeUrl; /** * Check if URL should be excluded */ private isExcluded; /** * Start crawling */ crawl(): Promise; /** * Build site map from crawled pages */ private buildSiteMap; } /** * Crawl a web application and return results */ export declare function crawlWebsite(options: CrawlOptions): Promise; /** * Crawl a website with progress callback */ export declare function crawlWebsiteWithProgress(options: CrawlOptions, onProgress: (progress: CrawlProgress, page?: PageDefinition) => void): Promise; export * from './types.js'; export { generateSelector, generateSelectorFromElement, generateIntelligentSelector, generateSelectorWithMetadata, initializeSelectorGenerator, getSiteProfile, getSelectorStrategy, SiteProfiler, analyzeSite, determineSiteProfile, isGeneratedId, isSemanticId, isUtilityClass, SELECTOR_STRATEGIES, } from './selector-generator.js'; export { generateJourneys } from './journey-generator.js'; export { AdvancedInteractionsHandler, createAdvancedInteractionsHandler, type ElementLocation, type FileUploadResult, type FileDownloadResult, type AdvancedInteractionsOptions, } from './advanced-interactions.js'; export { FormHandler, createFormHandler, type FormField, type FormData, type FormConfig, type FormFillData, type FormResult, } from './form-handler.js'; export { DownloadHandler, createDownloadHandler, type DownloadConfig, type DownloadInfo, type DownloadActionOptions, type DownloadVerification, type DownloadResult, } from './download-handler.js'; export { GeoLocationHandler, createGeoLocationHandler, type GeoCoordinates, type GeoLocationConfig, CITIES, } from './geolocation-handler.js'; export { PermissionsHandler, createPermissionsHandler, type PermissionType, type PermissionState, type PermissionConfig, type PermissionChange, PERMISSION_PRESETS, } from './permissions-handler.js'; export { WaitStrategies, createWaitStrategies, type WaitConfig, type NetworkIdleConfig, type StabilityConfig, type WaitResult, } from './wait-strategies.js'; export { CookieManager, createCookieManager, type CookieOptions, type CookieValidationResult, type CookieFilterOptions, } from './cookie-manager.js'; export { CSPHandler, createCSPHandler, type CSPDirective, type CPSPolicy, type CSPValidationResult, type CSPViolation, } from './csp-handler.js'; export { COOPCOEPHandler, createCOOPCOEPHandler, type COOPValue, type COEPValue, type COOPConfig, type COEPConfig, type CrossOriginIsolationStatus, } from './coop-coep-handler.js'; export { PermissionsPolicyHandler, createPermissionsPolicyHandler, type PermissionsPolicyFeature, type PermissionsPolicyDirective, type PermissionsPolicyResult, type PermissionsPolicyReport, } from './permissions-policy-handler.js'; export { TrustedTypesHandler, createTrustedTypesHandler, type TrustedTypesConfig, type TrustedTypePolicy, type XSSSink, type TrustedTypesReport, } from './trusted-types-handler.js'; export { SourceMapsHandler, createSourceMapsHandler, type SourceMapLocation, type SourceMapInfo, type MappedError, type SourceMapResult, } from './sourcemaps-handler.js'; export { ErrorTrackingHandler, createErrorTrackingHandler, type ErrorInfo, type ErrorGroup, type ResourceError, type ErrorReport, } from './error-tracking-handler.js'; export { ReportingAPIHandler, createReportingAPIHandler, type Report, type ReportType, type CSPViolationReport, type PermissionsPolicyViolationReport, type InterventionReport, type DeprecationReport, type ReportingEndpoint, type ReportingAPIConfig, type ReportingSummary, } from './reporting-api-handler.js'; export { FrameworkWaitHandler, createFrameworkWaitHandler, waitForFramework, type FrameworkWaitConfig, type FrameworkDetectionResult, type FrameworkWaitResult, } from './framework-wait-handler.js'; export { BlobURLDownloadHandler, createBlobURLDownloadHandler, type BlobDownloadConfig, type BlobDownloadInfo, type BlobDownloadResult, } from './blob-url-download-handler.js'; export { EmailTestingHandler, createEmailTestingHandler, waitForEmail, type EmailConfig, type EmailMessage, type EmailAttachment, type EmailSearchOptions, } from './email-testing-handler.js'; export { REPLDebugHandler, createREPLDebugHandler, startREPL, type REPLConfig, type REPLCommand, type REPLContext, } from './repl-debug-handler.js'; export { StackedModalsHandler, createStackedModalsHandler, type ModalInfo, type ModalHierarchy, type ModalActionOptions, } from './stacked-modals-handler.js'; export { detectPresetFromUrl, getAllPresets, getPreset, getPresetList, PRESETS, } from './presets.js'; export type { CrawlerPreset } from './presets.js';