/**
 * Workspace detection implementation.
 *
 * @module discovery/detector
 */
import type { DetectionResult, DetectOptions } from './types.js';
/**
 * Detects the type of B2C Commerce project in a workspace.
 *
 * WorkspaceTypeDetector analyzes a directory to determine what kind of
 * Commerce project it contains. Returns ALL matched project types to enable
 * union toolset selection for hybrid projects.
 *
 * @example
 * ```typescript
 * import { WorkspaceTypeDetector } from '@salesforce/b2c-tooling-sdk/discovery';
 *
 * const detector = new WorkspaceTypeDetector('/path/to/project');
 * const result = await detector.detect();
 *
 * console.log(`Project types: ${result.projectTypes.join(', ')}`);
 * console.log(`Matched patterns: ${result.matchedPatterns.join(', ')}`);
 * ```
 *
 * @example Custom patterns
 * ```typescript
 * const detector = new WorkspaceTypeDetector('/path/to/project', {
 *   additionalPatterns: [myCustomPattern],
 *   excludePatterns: ['sfra-cartridge'],
 * });
 * ```
 */
export declare class WorkspaceTypeDetector {
    private workspacePath;
    private patterns;
    /**
     * Creates a new WorkspaceTypeDetector.
     *
     * @param workspacePath - Path to the workspace directory to analyze
     * @param options - Detection options for customizing behavior
     */
    constructor(workspacePath: string, options?: DetectOptions);
    /**
     * Performs workspace detection.
     *
     * Runs all configured patterns against the workspace and returns
     * a consolidated result with all detected project types.
     *
     * @returns Detection result with all project types and matched patterns
     */
    detect(): Promise<DetectionResult>;
    /**
     * Resolves patterns based on options.
     */
    private resolvePatterns;
}
/**
 * Creates a WorkspaceTypeDetector and performs detection in one call.
 *
 * This is a convenience function for simple detection use cases.
 *
 * @param workspacePath - Path to the workspace directory
 * @param options - Detection options
 * @returns Detection result with all matched project types
 *
 * @example
 * ```typescript
 * import { detectWorkspaceType } from '@salesforce/b2c-tooling-sdk/discovery';
 *
 * const result = await detectWorkspaceType(process.cwd());
 * console.log(`Detected types: ${result.projectTypes.join(', ')}`);
 * console.log(`Patterns: ${result.matchedPatterns.join(', ')}`);
 * ```
 */
export declare function detectWorkspaceType(workspacePath: string, options?: DetectOptions): Promise<DetectionResult>;
