import { IndexStatus, ImportStatus, CentroidsStatus, CollectionStatus, ProviderInfo, CollectAndStageResult, QueueProcessorStatus, CurrentStagingStats, EmbeddingBatch, LatestEmbeddedItem } from "../../../types";
export type { IndexStatus, ImportStatus, CentroidsStatus, CollectionStatus, ProviderInfo, CollectAndStageResult, QueueProcessorStatus, CurrentStagingStats, EmbeddingBatch, LatestEmbeddedItem, };
/**
 * All state values managed by the IndexOverview component
 */
export interface IndexOverviewState {
    indexStatus: IndexStatus | null;
    isLoading: boolean;
    isCleaning: boolean;
    isPopulating: boolean;
    kCentroids: number;
    error: string | null;
    isFinalizing: boolean;
    stageResult: CollectAndStageResult | null;
    importStatus: ImportStatus | null;
    centroidsStatus: CentroidsStatus | null;
    collectionStatus: CollectionStatus | null;
    isCollecting: boolean;
    isGenerating: boolean;
    showAdvanced: boolean;
    providerInfo: ProviderInfo | null;
    queueStatus: QueueProcessorStatus | null;
    showQueueErrors: boolean;
    forceRegenerate: boolean;
    stagingStats: CurrentStagingStats | null;
    isRetryingFailed: boolean;
    retryFailedMessage: string | null;
    isCancellingCollection: boolean;
    debouncedCurrentItem: string | undefined;
    operationInProgress: boolean;
}
/**
 * All action handlers for IndexOverview
 */
export interface IndexOverviewActions {
    fetchStatus: () => Promise<void>;
    fetchProviderInfo: () => Promise<void>;
    handleRetryFailed: () => Promise<void>;
    handleStopGeneration: () => Promise<void>;
    handleCancelCollection: () => Promise<void>;
    handleRebuild: () => Promise<void>;
    handleGenerateEmbeddings: (mode: "batch" | "direct" | "auto") => Promise<void>;
    handleCleanup: () => Promise<void>;
    handlePopulateCentroids: () => Promise<void>;
    handleFinalize: () => Promise<void>;
    goToSettings: () => void;
    setShowQueueErrors: (show: boolean) => void;
    setShowAdvanced: (show: boolean) => void;
    setKCentroids: (value: number) => void;
    setForceRegenerate: (value: boolean) => void;
    clearStaging: () => void;
}
/**
 * Props for IndexStatusCards component
 */
export interface IndexStatusCardsProps {
    indexStatus: IndexStatus;
    onGoToSettings: () => void;
}
/**
 * Props for QueueErrorsDisplay component
 */
export interface QueueErrorsDisplayProps {
    queueStatus: QueueProcessorStatus;
    showQueueErrors: boolean;
    onToggleErrors: () => void;
    onRetryFailed: () => void;
    onGoToSettings: () => void;
    isRetryingFailed: boolean;
    retryFailedMessage: string | null;
}
/**
 * Props for EmbeddingProviderInfo component
 */
export interface EmbeddingProviderInfoProps {
    providerInfo: ProviderInfo;
}
/**
 * Props for RebuildIndexSection component
 */
export interface RebuildIndexSectionProps {
    indexStatus: IndexStatus;
    collectionStatus: CollectionStatus | null;
    importStatus: ImportStatus | null;
    centroidsStatus: CentroidsStatus | null;
    queueStatus: QueueProcessorStatus | null;
    providerInfo: ProviderInfo | null;
    stagingStats: CurrentStagingStats | null;
    stageResult: CollectAndStageResult | null;
    debouncedCurrentItem: string | undefined;
    isCollecting: boolean;
    isGenerating: boolean;
    isFinalizing: boolean;
    isCancellingCollection: boolean;
    forceRegenerate: boolean;
    onRebuild: () => void;
    onGenerateEmbeddings: (mode: "batch" | "direct" | "auto") => void;
    onFinalize: () => void;
    onStopGeneration: () => void;
    onCancelCollection: () => void;
    onForceRegenerateChange: (value: boolean) => void;
    onClearStaging: () => void;
}
/**
 * Props for RecentBatchesList component
 */
export interface RecentBatchesListProps {
    batches: EmbeddingBatch[];
}
/**
 * Props for LatestEmbeddingsList component
 */
export interface LatestEmbeddingsListProps {
    items: LatestEmbeddedItem[];
}
/**
 * Props for AdvancedSettings component
 */
export interface AdvancedSettingsProps {
    kCentroids: number;
    onKCentroidsChange: (value: number) => void;
    onPopulateCentroids: () => void;
    isPopulating: boolean;
    centroidsStatus: CentroidsStatus | null;
    onCleanup: () => void;
    isCleaning: boolean;
}
