/** A single API surface entry within a spec. */
export interface ApiSurfaceEntry {
    type: 'rest-endpoint' | 'graphql' | 'typescript-interface' | 'database-schema' | 'event';
    definition: string;
    isBreakingIfRemoved?: boolean;
}
/** API surfaces registered for a spec. */
export interface ApiSurface {
    specId: string;
    surfaces: ApiSurfaceEntry[];
    registeredAt: string;
}
/** Impact level for a dependency analysis result. */
export type ImpactLevel = 'high' | 'medium' | 'low';
/** A single affected spec in a breaking change analysis. */
export interface AffectedSpec {
    specId: string;
    reason: string;
    impactLevel: ImpactLevel;
}
/** Result of the analyze_breaking_changes tool. */
export interface BreakingChangesResult {
    sourceSpecId: string;
    changeDescription: string;
    affectedSpecs: AffectedSpec[];
    overallImpact: ImpactLevel;
}
/** Input for register_api_surface. */
export interface RegisterApiSurfaceInput {
    projectPath: string;
    specId: string;
    surfaces: ApiSurfaceEntry[];
}
/** Input for analyze_breaking_changes / dependency_impact_report. */
export interface AnalyzeBreakingChangesInput {
    projectPath: string;
    specId: string;
    changeDescription: string;
}
/** Input for check_api_compatibility. */
export interface CheckApiCompatibilityInput {
    projectPath: string;
    specId: string;
}
//# sourceMappingURL=dependency-impact.d.ts.map