/**
 * JIRA Field Discovery
 *
 * Dynamically discovers custom field IDs (e.g., Epic Link) and
 * detects project style (Next-gen vs Classic).
 *
 * Results are cached per domain/project to avoid repeated lookups.
 *
 * @module jira-field-discovery
 */
/**
 * Discover the Epic Link custom field ID by querying /rest/api/field.
 * Searches for fields with name "Epic Link" or schema type "com.pyxis.greenhopper.jira:gh-epic-link".
 *
 * @returns The custom field ID (e.g., "customfield_10014") or null if not found
 */
export declare function discoverEpicLinkField(domain: string, auth: {
    email: string;
    apiToken: string;
}): Promise<string | null>;
/**
 * Detect whether a JIRA project uses Next-gen (Team-managed) or Classic (Company-managed) style.
 *
 * Next-gen projects use `parent` field for epic linking.
 * Classic projects use a custom field (Epic Link).
 */
export declare function detectProjectStyle(domain: string, projectKey: string, auth: {
    email: string;
    apiToken: string;
}): Promise<'next-gen' | 'classic'>;
/**
 * Get the correct field name/ID for linking an issue to an epic,
 * based on project style.
 *
 * - Next-gen: uses `parent` field
 * - Classic: uses the discovered Epic Link custom field ID
 */
export declare function getEpicLinkFieldForProject(domain: string, projectKey: string, auth: {
    email: string;
    apiToken: string;
}): Promise<{
    field: 'parent' | string;
    style: 'next-gen' | 'classic';
}>;
/** Clear caches (for testing) */
export declare function clearFieldDiscoveryCache(): void;
//# sourceMappingURL=jira-field-discovery.d.ts.map