/**
 * Cross-cutting signals fed into `runSeoAuditAnalysis` — redirect health and
 * static broken-internal-link detection (no outbound HTTP; safe for cron/audit).
 */
import type { RedirectRecord } from '../redirects/graph.js';
import type { ActuateDB } from '../db/client-types.js';
import type { AuditEntityInput, AuditExtraSignals } from './audit-engine.js';
/** Count redirect chains and loops from stored redirect rules. */
export declare function gatherRedirectSignals(db: ActuateDB): Promise<Pick<AuditExtraSignals, 'redirectChains' | 'redirectLoops'>>;
/**
 * Find internal links in content that don't resolve to a known page URL or
 * redirect terminal. Static analysis only — does not fetch URLs.
 */
export declare function detectBrokenInternalLinks(entities: AuditEntityInput[], options?: {
    siteUrl?: string;
    redirectRules?: RedirectRecord[];
}): AuditExtraSignals['brokenLinks'];
/** Load redirect rules and gather all audit cross-cutting signals. */
export declare function gatherAuditSignals(db: ActuateDB, entities: AuditEntityInput[], siteUrl?: string): Promise<AuditExtraSignals>;
//# sourceMappingURL=audit-signals.d.ts.map