import { type ReactNode } from 'react';
import type { FeatureNodeState } from '../components/common/feature-node/feature-node-state-config.js';
import type { FeatureStatus } from '../components/common/feature-status-config.js';
export interface SidebarFeatureItem {
    name: string;
    status: FeatureStatus;
    featureId: string;
    startedAt?: number;
    duration?: string;
    agentType?: string;
    modelId?: string;
    /** Absolute path to the repository this feature belongs to */
    repositoryPath: string;
    /** Human-readable repository name (last path segment) */
    repositoryName: string;
}
/**
 * Maps a canvas FeatureNodeState to the sidebar's 5-state FeatureStatus.
 * Returns `null` for `creating` (optimistic UI) — these should be excluded from the sidebar.
 */
export declare function mapNodeStateToSidebarStatus(state: FeatureNodeState): FeatureStatus | null;
interface SidebarFeaturesContextValue {
    features: SidebarFeatureItem[];
    setFeatures: (features: SidebarFeatureItem[]) => void;
    hasRepositories: boolean;
    setHasRepositories: (value: boolean) => void;
}
interface SidebarFeaturesProviderProps {
    children: ReactNode;
}
export declare function SidebarFeaturesProvider({ children }: SidebarFeaturesProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useSidebarFeaturesContext(): SidebarFeaturesContextValue;
export {};
//# sourceMappingURL=sidebar-features-context.d.ts.map