import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { DomainCollector } from '../core/collector.js';
/** The subset of DomainCollector the server uses — injectable so tests can supply a fake (no network). */
export type CollectorLike = Pick<DomainCollector, 'collect' | 'whois' | 'dns' | 'ssl' | 'ports' | 'subdomains' | 'propagation'>;
export interface ServerDeps {
    /** Data gatherer (defaults to a real DomainCollector). */
    collector?: CollectorLike;
    /** Target guard (defaults to assertPublicDomain); throws to block a target. */
    assertTarget?: (domain: string) => Promise<void>;
}
export declare function createServer(deps?: ServerDeps): McpServer;
/** Start the MCP server over stdio. Only MCP protocol messages go to stdout. */
export declare function startStdioServer(): Promise<void>;
//# sourceMappingURL=server.d.ts.map