/**
 * Parent Class Detector
 *
 * Determines whether a module should extend Content or AbstractApiData
 * based on the presence of Content-specific fields or explicit configuration.
 */
import { JsonFieldDefinition } from "../types/json-schema.interface";
/**
 * Check if a module should extend Content
 *
 * @param fields - Array of field definitions from JSON schema
 * @param explicitValue - Optional explicit value from JSON schema
 * @returns true if the module should extend Content
 */
export declare function detectExtendsContent(fields: JsonFieldDefinition[], explicitValue?: boolean): boolean;
/**
 * Get the parent class name based on detection result
 *
 * @param extendsContent - Whether the module extends Content
 * @returns Parent class name
 */
export declare function getParentClassName(extendsContent: boolean): string;
/**
 * Get the parent interface name based on detection result
 *
 * @param extendsContent - Whether the module extends Content
 * @returns Parent interface name
 */
export declare function getParentInterfaceName(extendsContent: boolean): string;
/**
 * Get the parent input type name based on detection result
 *
 * @param extendsContent - Whether the module extends Content
 * @returns Parent input type or null if standalone
 */
export declare function getParentInputType(extendsContent: boolean): string | null;
/**
 * Get the import path for the parent class
 *
 * @param extendsContent - Whether the module extends Content
 * @returns Import path for parent class
 */
export declare function getParentClassImport(extendsContent: boolean): string;
/**
 * Check if the module needs to call super.addContentInput() in createJsonApi
 *
 * @param extendsContent - Whether the module extends Content
 * @returns true if super.addContentInput() should be called
 */
export declare function needsAddContentInput(extendsContent: boolean): boolean;
/**
 * Get fields that are inherited from Content and should not be declared
 *
 * @param extendsContent - Whether the module extends Content
 * @returns Array of field names to exclude from generation
 */
export declare function getInheritedFields(extendsContent: boolean): string[];
//# sourceMappingURL=parent-detector.d.ts.map