/**
 * ADRs Discovered Resource - ADR discovery and summary
 * URI Pattern: adr://adrs/discovered
 */
import { URLSearchParams } from 'url';
import { ResourceGenerationResult } from './index.js';
export interface AdrsDiscoveredData {
    directory: string;
    totalAdrs: number;
    adrs: Array<{
        filename: string;
        title: string;
        status: string;
        date?: string;
        path: string;
        number?: string;
        category?: string;
        tags?: string[];
    }>;
    summary: {
        byStatus: Record<string, number>;
        byCategory: Record<string, number>;
    };
    recommendations: string[];
    timestamp: string;
}
/**
 * Generate ADRs discovered resource with discovery results and summary.
 *
 * Discovers and catalogs all Architectural Decision Records (ADRs) in a project:
 * - Scans configured ADR directory for decision records
 * - Extracts metadata (title, status, date, category)
 * - Generates summary statistics by status and category
 * - Provides recommendations for ADR management
 *
 * **URI Pattern:** `adr://adrs/discovered`
 *
 * **Query Parameters:**
 * - `projectPath`: Override project root path (default: process.cwd())
 * - `adrDirectory`: Override ADR directory (default: docs/adrs)
 * - `includeContent`: Include full ADR content (default: false)
 * - `includeTimeline`: Include timeline analysis (default: false)
 *
 * @param params - URL path parameters (none for this resource)
 * @param searchParams - URL query parameters for customization
 *
 * @returns Promise resolving to resource generation result containing:
 *   - data: ADR discovery results with summaries
 *   - contentType: "application/json"
 *   - lastModified: ISO timestamp of generation
 *   - cacheKey: Unique identifier "adrs-discovered" or "adrs-discovered:{projectPath}"
 *   - ttl: Cache duration (120 seconds / 2 minutes)
 *   - etag: Entity tag for cache validation
 *
 * @throws {McpAdrError} When:
 *   - RESOURCE_NOT_FOUND: ADR directory not found or inaccessible
 *   - RESOURCE_GENERATION_ERROR: ADR discovery or parsing fails
 *
 * @example
 * ```typescript
 * // Discover ADRs in default location
 * const discovered = await generateAdrsDiscoveredResource(
 *   {},
 *   new URLSearchParams()
 * );
 *
 * console.log(`Found ${discovered.data.totalAdrs} ADRs`);
 * console.log(`Accepted: ${discovered.data.summary.byStatus.accepted}`);
 * console.log(`Proposed: ${discovered.data.summary.byStatus.proposed}`);
 *
 * // Discover ADRs in custom location
 * const custom = await generateAdrsDiscoveredResource(
 *   {},
 *   new URLSearchParams('projectPath=/custom/path&adrDirectory=decisions')
 * );
 *
 * // Expected output structure:
 * {
 *   data: {
 *     directory: "/project/docs/adrs",
 *     totalAdrs: 25,
 *     adrs: [
 *       {
 *         filename: "001-use-postgresql.md",
 *         title: "Use PostgreSQL for primary database",
 *         status: "accepted",
 *         date: "2025-01-15",
 *         path: "/project/docs/adrs/001-use-postgresql.md",
 *         number: "001",
 *         category: "database",
 *         tags: ["postgresql", "database"]
 *       },
 *       ...
 *     ],
 *     summary: {
 *       byStatus: {
 *         accepted: 20,
 *         proposed: 3,
 *         deprecated: 2
 *       },
 *       byCategory: {
 *         database: 5,
 *         api: 8,
 *         infrastructure: 7,
 *         security: 5
 *       }
 *     },
 *     recommendations: [
 *       "Consider reviewing deprecated ADRs",
 *       "3 proposed ADRs need decisions"
 *     ],
 *     timestamp: "2025-12-16T04:30:00.000Z"
 *   },
 *   contentType: "application/json",
 *   cacheKey: "adrs-discovered",
 *   ttl: 120
 * }
 * ```
 *
 * @since v2.2.0
 * @see {@link discoverAdrsInDirectory} for ADR discovery logic
 */
export declare function generateAdrsDiscoveredResource(_params: Record<string, string>, searchParams: URLSearchParams): Promise<ResourceGenerationResult>;
//# sourceMappingURL=adrs-discovered-resource.d.ts.map