import type { Feature } from './features';
export type DetectedFeatures = {
    features: Feature[];
    /** Class name extracted from `Class(Name.self)` or `Class(Name::class)`, or null. */
    sharedObjectName: string | null;
};
/**
 * Reads a native module definition file and detects which Expo Modules API
 * features it uses.
 */
export declare function detectFeaturesFromFile(filePath: string): Promise<DetectedFeatures>;
/**
 * Parses module definition content to detect features.
 * Exported for unit testing.
 */
export declare function detectFeaturesFromContent(content: string): DetectedFeatures;
/**
 * Searches a module's platform directory for the file containing `ModuleDefinition`.
 * Returns the absolute path or null if not found.
 *
 * apple → scans ios/**\/*.swift
 * android → scans android/src/**\/*.kt
 */
export declare function findModuleDefinitionFile(moduleRoot: string, platform: 'apple' | 'android'): Promise<string | null>;
