/**
 * Network Scanner
 * Port scanning, service detection, and network mapping
 */
import { EventEmitter } from 'events';
import { NetworkScanResult, ScanResult, TestTarget } from '../types';
interface ScanOptions {
    ports?: number[] | string;
    timeout?: number;
    threads?: number;
    techniques?: ScanTechnique[];
    serviceDetection?: boolean;
    osDetection?: boolean;
}
declare enum ScanTechnique {
    TCP_CONNECT = "TCP_CONNECT",
    SYN_SCAN = "SYN_SCAN",
    UDP_SCAN = "UDP_SCAN",
    XMAS_SCAN = "XMAS_SCAN",
    NULL_SCAN = "NULL_SCAN",
    FIN_SCAN = "FIN_SCAN"
}
export declare class NetworkScanner extends EventEmitter {
    private readonly commonPorts;
    private readonly serviceSignatures;
    constructor();
    /**
     * Scan a single target
     */
    scanTarget(target: TestTarget, options?: ScanOptions): Promise<ScanResult>;
    /**
     * Scan a network range
     */
    scanNetwork(range: string, options?: ScanOptions): Promise<NetworkScanResult>;
    /**
     * Private methods
     */
    private resolveTarget;
    private parsePorts;
    private scanPorts;
    private checkPort;
    private guessService;
    private detectServices;
    private grabBanner;
    private identifyService;
    private checkVulnerabilities;
    private createVulnerability;
    private checkVersionVulnerabilities;
    private detectOS;
    private expandRange;
    private isHostAlive;
    private mapTopology;
}
export {};
//# sourceMappingURL=network-scanner.d.ts.map