import type { NotificationEvent } from '../../../../../../packages/core/src/domain/generated/output.js';
import type { FeatureNodeData } from '../../common/feature-node/index.js';
import type { PrdQuestionnaireData } from '../../common/prd-questionnaire/index.js';
import type { TechDecisionsReviewData } from '../../common/tech-decisions-review/index.js';
import type { ProductDecisionsSummaryData } from '../../common/product-decisions-summary/index.js';
import type { MergeReviewData } from '../../common/merge-review/index.js';
import type { RejectAttachment } from '../../common/drawer-action-bar/index.js';
import type { FeatureTabKey } from '../../common/control-center-drawer/drawer-view.js';
import type { BranchSyncData } from '../../../hooks/use-branch-sync-status.js';
import type { FeatureDrawerPinnedConfig } from './pinned-config-utils.js';
export interface FeatureDrawerTabsProps {
    /** Feature name rendered in the inline header. */
    featureName?: string;
    /** Additional header content (repo info, actions) rendered below the title row. */
    headerContent?: React.ReactNode;
    featureNode: FeatureNodeData;
    featureId: string;
    /** Action handlers for the status chip in the title row. */
    onRetry?: (featureId: string) => void;
    onStop?: (featureId: string) => void;
    onStart?: (featureId: string) => void;
    initialTab?: FeatureTabKey;
    /** Tab key from URL path segment (e.g. /feature/[id]/activity → 'activity'). */
    urlTab?: FeatureTabKey;
    /** SSE events from the agent events provider, used to trigger tab data refresh. */
    sseEvents?: readonly NotificationEvent[];
    prdData?: PrdQuestionnaireData | null;
    prdSelections?: Record<string, string>;
    onPrdSelect?: (questionId: string, optionId: string) => void;
    onPrdApprove?: (actionId: string) => void;
    onPrdReject?: (feedback: string, attachments: RejectAttachment[]) => void;
    isPrdLoading?: boolean;
    techData?: TechDecisionsReviewData | null;
    onTechApprove?: () => void;
    onTechReject?: (feedback: string, attachments: RejectAttachment[]) => void;
    isTechLoading?: boolean;
    productData?: ProductDecisionsSummaryData | null;
    mergeData?: MergeReviewData | null;
    onMergeApprove?: () => void;
    onMergeReject?: (feedback: string, attachments: RejectAttachment[]) => void;
    isMergeLoading?: boolean;
    syncStatus?: BranchSyncData | null;
    syncLoading?: boolean;
    syncError?: string | null;
    onRefreshSync?: () => void;
    onRebaseOnMain?: () => void;
    rebaseLoading?: boolean;
    rebaseError?: string | null;
    isRejecting?: boolean;
    chatInput?: string;
    onChatInputChange?: (value: string) => void;
    pinnedConfig?: FeatureDrawerPinnedConfig;
    continuationActionsDisabled?: boolean;
    /** When false, the Chat tab is hidden from the tab bar (FR-17). Defaults to true. */
    interactiveAgentEnabled?: boolean;
}
export declare function FeatureDrawerTabs({ featureName, headerContent, featureNode, featureId, initialTab, urlTab, prdData, prdSelections, onPrdSelect, onPrdApprove, onPrdReject, isPrdLoading, techData, onTechApprove, onTechReject, isTechLoading, productData, mergeData, onMergeApprove, onMergeReject, isMergeLoading, syncStatus, syncLoading, syncError, onRefreshSync, onRebaseOnMain, rebaseLoading, rebaseError, isRejecting, chatInput, onChatInputChange, pinnedConfig, continuationActionsDisabled, sseEvents, interactiveAgentEnabled, onRetry, onStop, onStart, }: FeatureDrawerTabsProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=feature-drawer-tabs.d.ts.map