import { type SeoContentBrief } from './issue-content-brief.js';
import { type SeoContentResearch } from './issue-content-research.js';
/** Issue types handled by inline Approve fix (deterministic + AI). */
export declare const INLINE_FIX_ISSUE_TYPES: Set<string>;
export interface FixBriefIssue {
    id: string;
    type: string;
    title: string;
    description: string | null;
    impact: string | null;
    recommendation: string | null;
    severity: string;
    category: string;
    status: string;
    entityType: string | null;
    entityId: string | null;
    entityTitle: string | null;
    url: string | null;
    fixActionType: string | null;
    fixable: boolean;
    /** Cached AI content brief when included in export. */
    contentBrief?: SeoContentBrief | null;
    /** Cached topic research when included in export. */
    contentResearch?: SeoContentResearch | null;
}
export interface FixBriefExportInput {
    siteName?: string | null;
    siteUrl?: string | null;
    auditRunId?: string | null;
    auditDate?: string | Date | null;
    issues: FixBriefIssue[];
    /** When true (default), omit issues with inline Approve fix in the Audit tab. */
    manualOnly?: boolean;
}
/**
 * True when an issue should be handed off via export rather than inline approve.
 */
export declare function isManualHandoffIssue(issue: Pick<FixBriefIssue, 'type' | 'fixActionType' | 'fixable'>): boolean;
export declare function filterFixBriefIssues(issues: FixBriefIssue[], manualOnly?: boolean): FixBriefIssue[];
export declare function fixBriefFilename(siteName?: string | null, auditDate?: string | Date | null): string;
/** Relative admin path for opening the page/editor (consumer resolves basePath). */
export declare function adminPathForIssue(issue: FixBriefIssue): string | null;
/**
 * Build a developer handoff markdown document from open audit issues.
 */
export declare function buildSeoFixBriefMarkdown(input: FixBriefExportInput): string;
//# sourceMappingURL=fix-brief-export.d.ts.map