import type { AiGateCheckResult, AiGateViolation, } from '../integrations/gate/evaluateAiGate'; import type { PumukiCriticalNotificationEvent, SystemNotificationEmitResult, } from './framework-menu-system-notifications-lib'; export type ConsumerPreflightStage = 'PRE_COMMIT' | 'PRE_PUSH'; export type ConsumerPreflightResult = { stage: ConsumerPreflightStage; status: AiGateCheckResult['status']; result: AiGateCheckResult; hints: ReadonlyArray; notificationResults: ReadonlyArray; }; export type ConsumerPreflightDependencies = { evaluateAiGate: (params: { repoRoot: string; stage: ConsumerPreflightStage; }) => AiGateCheckResult; emitSystemNotification: (params: { event: PumukiCriticalNotificationEvent; repoRoot: string; }) => SystemNotificationEmitResult; }; export type ConsumerPreflightRenderOptions = { panelWidth?: number; color?: boolean; }; export type ConsumerPreflightHintDependencies = { actionableHintsByCode?: Readonly>; }; export type ConsumerPreflightViolationList = ReadonlyArray;