"""Deck archetype definitions — structured templates for common deck types."""

from __future__ import annotations

from dataclasses import dataclass, field

from pptx_mcp.models.slides import SlideType


@dataclass(frozen=True)
class SlideSlot:
    """A slot in a deck archetype's structure."""
    slide_type: SlideType
    title_template: str
    required: bool = True


@dataclass(frozen=True)
class DeckArchetype:
    """Template for a specific kind of presentation."""
    name: str
    display_name: str
    description: str
    slots: tuple[SlideSlot, ...]
    min_slides: int = 5
    max_slides: int = 20


ARCHETYPES: dict[str, DeckArchetype] = {
    "pitch_deck": DeckArchetype(
        name="pitch_deck",
        display_name="Pitch Deck",
        description="Investor/stakeholder pitch with problem, solution, traction, team, and ask.",
        min_slides=8,
        max_slides=15,
        slots=(
            SlideSlot(SlideType.TITLE, "Company Pitch"),
            SlideSlot(SlideType.CONTENT, "The Problem"),
            SlideSlot(SlideType.CONTENT, "Our Solution"),
            SlideSlot(SlideType.BIG_NUMBER, "Traction"),
            SlideSlot(SlideType.IMAGE_TEXT, "Product Overview"),
            SlideSlot(SlideType.DASHBOARD, "Key Metrics"),
            SlideSlot(SlideType.ICON_GRID, "Why Us"),
            SlideSlot(SlideType.CHART, "Market Opportunity"),
            SlideSlot(SlideType.TEAM, "The Team"),
            SlideSlot(SlideType.CLOSING, "The Ask", required=False),
        ),
    ),
    "board_deck": DeckArchetype(
        name="board_deck",
        display_name="Board Update",
        description="Quarterly board update with financials, strategy, and operational review.",
        min_slides=8,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Board Update"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.DASHBOARD, "Financial Overview"),
            SlideSlot(SlideType.CHART, "Revenue & Growth"),
            SlideSlot(SlideType.PROCESS, "Strategic Initiatives"),
            SlideSlot(SlideType.SWOT, "Strategic Assessment"),
            SlideSlot(SlideType.CONTENT, "Operational Highlights"),
            SlideSlot(SlideType.CONTENT, "Risks & Mitigations"),
            SlideSlot(SlideType.CLOSING, "Next Steps"),
        ),
    ),
    "sales_deck": DeckArchetype(
        name="sales_deck",
        display_name="Sales Deck",
        description="Customer-facing sales presentation with value proposition and social proof.",
        min_slides=7,
        max_slides=15,
        slots=(
            SlideSlot(SlideType.TITLE, "Sales Presentation"),
            SlideSlot(SlideType.CONTENT, "The Challenge"),
            SlideSlot(SlideType.STEP_CARDS, "Our Approach"),
            SlideSlot(SlideType.COMPARISON, "Why Choose Us"),
            SlideSlot(SlideType.DASHBOARD, "Results"),
            SlideSlot(SlideType.QUOTE, "What Customers Say"),
            SlideSlot(SlideType.TABLE, "Pricing"),
            SlideSlot(SlideType.CLOSING, "Get Started"),
        ),
    ),
    "all_hands": DeckArchetype(
        name="all_hands",
        display_name="All-Hands Meeting",
        description="Company-wide update with achievements, metrics, and team recognition.",
        min_slides=7,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "All-Hands Meeting"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.ICON_GRID, "Highlights"),
            SlideSlot(SlideType.DASHBOARD, "Key Metrics"),
            SlideSlot(SlideType.TIMELINE, "Roadmap"),
            SlideSlot(SlideType.TEAM, "New Joiners", required=False),
            SlideSlot(SlideType.CLOSING, "Thank You"),
        ),
    ),
    "project_update": DeckArchetype(
        name="project_update",
        display_name="Project Update",
        description="Status update with progress, timeline, and risk assessment.",
        min_slides=6,
        max_slides=15,
        slots=(
            SlideSlot(SlideType.TITLE, "Project Update"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Executive Summary"),
            SlideSlot(SlideType.PROCESS, "Current Status"),
            SlideSlot(SlideType.TIMELINE, "Project Timeline"),
            SlideSlot(SlideType.PROS_CONS, "Risks & Mitigations"),
            SlideSlot(SlideType.CLOSING, "Next Steps"),
        ),
    ),
    "training": DeckArchetype(
        name="training",
        display_name="Training Deck",
        description="Educational presentation with structured lessons and exercises.",
        min_slides=6,
        max_slides=25,
        slots=(
            SlideSlot(SlideType.TITLE, "Training Session"),
            SlideSlot(SlideType.AGENDA, "Learning Objectives"),
            SlideSlot(SlideType.CONTENT, "Introduction"),
            SlideSlot(SlideType.STEP_CARDS, "Key Concepts"),
            SlideSlot(SlideType.SECTION, "Practice"),
            SlideSlot(SlideType.CONTENT, "Summary"),
            SlideSlot(SlideType.CLOSING, "Next Steps"),
        ),
    ),
    "strategy_deck": DeckArchetype(
        name="strategy_deck",
        display_name="Strategy Deck",
        description="Strategic analysis and recommendations with current state, gap analysis, and roadmap.",
        min_slides=8,
        max_slides=25,
        slots=(
            SlideSlot(SlideType.TITLE, "Strategic Recommendation"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Executive Summary"),
            SlideSlot(SlideType.DASHBOARD, "Current State Assessment"),
            SlideSlot(SlideType.SWOT, "Strategic Assessment"),
            SlideSlot(SlideType.CONTENT, "Gap Analysis"),
            SlideSlot(SlideType.COMPARISON, "Strategic Options"),
            SlideSlot(SlideType.CONTENT, "Recommendation"),
            SlideSlot(SlideType.PROCESS, "Implementation Approach"),
            SlideSlot(SlideType.TIMELINE, "Execution Roadmap"),
            SlideSlot(SlideType.PROS_CONS, "Risk Assessment"),
            SlideSlot(SlideType.CLOSING, "Next Steps"),
        ),
    ),
    "due_diligence": DeckArchetype(
        name="due_diligence",
        display_name="Due Diligence Report",
        description="Investment due diligence with financial analysis, market assessment, and risk evaluation.",
        min_slides=10,
        max_slides=30,
        slots=(
            SlideSlot(SlideType.TITLE, "Due Diligence Report"),
            SlideSlot(SlideType.AGENDA, "Scope & Methodology"),
            SlideSlot(SlideType.CONTENT, "Executive Summary"),
            SlideSlot(SlideType.DASHBOARD, "Financial Overview"),
            SlideSlot(SlideType.CHART, "Revenue & Profitability"),
            SlideSlot(SlideType.CONTENT, "Market Position"),
            SlideSlot(SlideType.FUNNEL, "Customer Pipeline"),
            SlideSlot(SlideType.SWOT, "Risk Assessment"),
            SlideSlot(SlideType.COMPARISON, "Peer Comparison"),
            SlideSlot(SlideType.TABLE, "Key Findings Summary"),
            SlideSlot(SlideType.PROS_CONS, "Investment Considerations"),
            SlideSlot(SlideType.CLOSING, "Recommendation"),
        ),
    ),
    "market_analysis": DeckArchetype(
        name="market_analysis",
        display_name="Market Analysis",
        description="Market sizing, competitive landscape, and opportunity assessment.",
        min_slides=8,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Market Analysis"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.BIG_NUMBER, "Market Size"),
            SlideSlot(SlideType.CHART, "Market Growth Trends"),
            SlideSlot(SlideType.FUNNEL, "Market Segments"),
            SlideSlot(SlideType.COMPARISON, "Competitive Landscape"),
            SlideSlot(SlideType.DASHBOARD, "Competitor Metrics"),
            SlideSlot(SlideType.CONTENT, "Key Findings"),
            SlideSlot(SlideType.ICON_GRID, "Market Opportunities"),
            SlideSlot(SlideType.TIMELINE, "Market Evolution"),
            SlideSlot(SlideType.CLOSING, "Strategic Implications"),
        ),
    ),
    "org_design": DeckArchetype(
        name="org_design",
        display_name="Org Design Review",
        description="Organizational structure analysis, capability assessment, and transformation plan.",
        min_slides=8,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Organizational Review"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Current Organization"),
            SlideSlot(SlideType.DASHBOARD, "Capability Assessment"),
            SlideSlot(SlideType.COMPARISON, "Operating Model Options"),
            SlideSlot(SlideType.PROCESS, "Transition Plan"),
            SlideSlot(SlideType.TEAM, "Leadership Structure"),
            SlideSlot(SlideType.ICON_GRID, "Key Capabilities"),
            SlideSlot(SlideType.TIMELINE, "Transformation Roadmap"),
            SlideSlot(SlideType.PROS_CONS, "Change Impact"),
            SlideSlot(SlideType.CLOSING, "Recommendations"),
        ),
    ),
    "competitive_assessment": DeckArchetype(
        name="competitive_assessment",
        display_name="Competitive Assessment",
        description="Competitive intelligence with positioning analysis and strategic response.",
        min_slides=8,
        max_slides=18,
        slots=(
            SlideSlot(SlideType.TITLE, "Competitive Assessment"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.DASHBOARD, "Market Overview"),
            SlideSlot(SlideType.COMPARISON, "Competitor Comparison"),
            SlideSlot(SlideType.TABLE, "Feature Matrix"),
            SlideSlot(SlideType.CHART, "Market Share Analysis"),
            SlideSlot(SlideType.SWOT, "Competitive Position"),
            SlideSlot(SlideType.CONTENT, "Key Differentiators"),
            SlideSlot(SlideType.ICON_GRID, "Strategic Response"),
            SlideSlot(SlideType.CLOSING, "Action Plan"),
        ),
    ),
    "transformation_roadmap": DeckArchetype(
        name="transformation_roadmap",
        display_name="Transformation Roadmap",
        description="Business transformation plan with vision, current state, and phased implementation.",
        min_slides=8,
        max_slides=25,
        slots=(
            SlideSlot(SlideType.TITLE, "Transformation Roadmap"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Vision & Objectives"),
            SlideSlot(SlideType.DASHBOARD, "Current State Baseline"),
            SlideSlot(SlideType.CONTENT, "Target State"),
            SlideSlot(SlideType.PROCESS, "Transformation Pillars"),
            SlideSlot(SlideType.STEP_CARDS, "Key Initiatives"),
            SlideSlot(SlideType.TIMELINE, "Phased Roadmap"),
            SlideSlot(SlideType.DASHBOARD, "Expected Outcomes"),
            SlideSlot(SlideType.PROS_CONS, "Risks & Mitigations"),
            SlideSlot(SlideType.CLOSING, "Call to Action"),
        ),
    ),
    # --- Consulting-focused archetypes (v0.5.0) ---
    "assessment": DeckArchetype(
        name="assessment",
        display_name="Assessment",
        description="General assessment or audit with current state analysis, findings, and remediation plan.",
        min_slides=8,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Assessment Report"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Executive Summary"),
            SlideSlot(SlideType.DASHBOARD, "Current State"),
            SlideSlot(SlideType.CHART, "Benchmark Analysis"),
            SlideSlot(SlideType.ICON_GRID, "Key Findings"),
            SlideSlot(SlideType.TABLE, "Assessment Matrix"),
            SlideSlot(SlideType.PROS_CONS, "Strengths & Gaps"),
            SlideSlot(SlideType.PROCESS, "Remediation Plan"),
            SlideSlot(SlideType.CLOSING, "Recommendations"),
        ),
    ),
    "opportunity_assessment": DeckArchetype(
        name="opportunity_assessment",
        display_name="Opportunity Assessment",
        description="Opportunity sizing and evaluation with market data, pipeline, and investment recommendation.",
        min_slides=8,
        max_slides=18,
        slots=(
            SlideSlot(SlideType.TITLE, "Opportunity Assessment"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Opportunity Overview"),
            SlideSlot(SlideType.BIG_NUMBER, "Market Size"),
            SlideSlot(SlideType.CHART, "Growth Trajectory"),
            SlideSlot(SlideType.FUNNEL, "Opportunity Pipeline"),
            SlideSlot(SlideType.COMPARISON, "Scenario Analysis"),
            SlideSlot(SlideType.DASHBOARD, "Financial Projections"),
            SlideSlot(SlideType.PROS_CONS, "Risk Assessment"),
            SlideSlot(SlideType.CLOSING, "Investment Recommendation"),
        ),
    ),
    "strategy_training": DeckArchetype(
        name="strategy_training",
        display_name="Strategy Training",
        description="Consulting methodology training with frameworks, case application, and practice exercises.",
        min_slides=8,
        max_slides=25,
        slots=(
            SlideSlot(SlideType.TITLE, "Strategy Training"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Learning Objectives"),
            SlideSlot(SlideType.SECTION, "Frameworks"),
            SlideSlot(SlideType.STEP_CARDS, "Core Methodology"),
            SlideSlot(SlideType.CONTENT, "Case Application"),
            SlideSlot(SlideType.TWO_COLUMN, "Before & After"),
            SlideSlot(SlideType.ICON_GRID, "Key Principles"),
            SlideSlot(SlideType.PROCESS, "Practice Exercise"),
            SlideSlot(SlideType.CLOSING, "Summary & Resources"),
        ),
    ),
    "template_guide": DeckArchetype(
        name="template_guide",
        display_name="Template Guide",
        description="How-to-use guide for templates, systems, or workflows.",
        min_slides=8,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Template Guide"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Overview"),
            SlideSlot(SlideType.PROCESS, "Workflow"),
            SlideSlot(SlideType.STEP_CARDS, "Getting Started"),
            SlideSlot(SlideType.ICON_GRID, "Available Templates"),
            SlideSlot(SlideType.TABLE, "Template Reference"),
            SlideSlot(SlideType.CONTENT, "Best Practices"),
            SlideSlot(SlideType.CONTENT, "FAQ", required=False),
            SlideSlot(SlideType.CLOSING, "Support & Resources"),
        ),
    ),
    "executive_overview": DeckArchetype(
        name="executive_overview",
        display_name="Executive Overview",
        description="High-level executive briefing with key metrics, trends, and strategic focus areas.",
        min_slides=6,
        max_slides=12,
        slots=(
            SlideSlot(SlideType.TITLE, "Executive Overview"),
            SlideSlot(SlideType.CONTENT, "Executive Summary"),
            SlideSlot(SlideType.DASHBOARD, "Key Metrics"),
            SlideSlot(SlideType.BIG_NUMBER, "Headline Number"),
            SlideSlot(SlideType.CHART, "Trend Analysis"),
            SlideSlot(SlideType.CONTENT, "Strategic Context"),
            SlideSlot(SlideType.ICON_GRID, "Focus Areas"),
            SlideSlot(SlideType.CLOSING, "Key Decisions"),
        ),
    ),
    "analysis_deck": DeckArchetype(
        name="analysis_deck",
        display_name="Analysis Deck",
        description="Data-driven analytical deep-dive with trend analysis, findings, and recommendations.",
        min_slides=8,
        max_slides=25,
        slots=(
            SlideSlot(SlideType.TITLE, "Analysis Report"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Analysis Scope"),
            SlideSlot(SlideType.DASHBOARD, "Data Overview"),
            SlideSlot(SlideType.CHART, "Trend Analysis"),
            SlideSlot(SlideType.CHART, "Segment Breakdown"),
            SlideSlot(SlideType.TABLE, "Detailed Findings"),
            SlideSlot(SlideType.COMPARISON, "Scenario Modeling"),
            SlideSlot(SlideType.CONTENT, "Implications"),
            SlideSlot(SlideType.CLOSING, "Recommendations"),
        ),
    ),
    "cost_breakdown": DeckArchetype(
        name="cost_breakdown",
        display_name="Cost Breakdown",
        description="Cost, revenue, or capability breakdown with line items, benchmarks, and optimization opportunities.",
        min_slides=8,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Cost Breakdown"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.BIG_NUMBER, "Total Cost"),
            SlideSlot(SlideType.CHART, "Category Breakdown"),
            SlideSlot(SlideType.TABLE, "Line Item Detail"),
            SlideSlot(SlideType.COMPARISON, "Benchmark vs Actual"),
            SlideSlot(SlideType.DASHBOARD, "Efficiency Metrics"),
            SlideSlot(SlideType.FUNNEL, "Cost Drivers"),
            SlideSlot(SlideType.CONTENT, "Optimization Opportunities"),
            SlideSlot(SlideType.CLOSING, "Action Items"),
        ),
    ),
    "architecture_review": DeckArchetype(
        name="architecture_review",
        display_name="Architecture Review",
        description="IT, systems, or enterprise architecture review with component inventory and migration roadmap.",
        min_slides=8,
        max_slides=22,
        slots=(
            SlideSlot(SlideType.TITLE, "Architecture Review"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Architecture Overview"),
            SlideSlot(SlideType.PROCESS, "Current Architecture"),
            SlideSlot(SlideType.ICON_GRID, "Component Inventory"),
            SlideSlot(SlideType.COMPARISON, "Architecture Options"),
            SlideSlot(SlideType.TABLE, "Technology Stack"),
            SlideSlot(SlideType.DASHBOARD, "Performance Metrics"),
            SlideSlot(SlideType.SWOT, "Architecture Assessment"),
            SlideSlot(SlideType.TIMELINE, "Migration Roadmap"),
            SlideSlot(SlideType.CLOSING, "Recommendations"),
        ),
    ),
    "analytics_dashboard": DeckArchetype(
        name="analytics_dashboard",
        display_name="Analytics Dashboard",
        description="Data analytics and insights presentation with KPIs, charts, and key findings.",
        min_slides=7,
        max_slides=18,
        slots=(
            SlideSlot(SlideType.TITLE, "Analytics Dashboard"),
            SlideSlot(SlideType.CONTENT, "Analytics Overview"),
            SlideSlot(SlideType.DASHBOARD, "KPI Summary"),
            SlideSlot(SlideType.CHART, "Primary Metrics"),
            SlideSlot(SlideType.CHART, "Secondary Metrics"),
            SlideSlot(SlideType.BIG_NUMBER, "Headline Insight"),
            SlideSlot(SlideType.TABLE, "Data Breakdown"),
            SlideSlot(SlideType.CONTENT, "Key Insights"),
            SlideSlot(SlideType.CLOSING, "Next Steps"),
        ),
    ),
    # --- General-purpose archetypes (v0.5.0) ---
    "product_launch": DeckArchetype(
        name="product_launch",
        display_name="Product Launch",
        description="Product launch announcement with features, competitive edge, and rollout schedule.",
        min_slides=7,
        max_slides=15,
        slots=(
            SlideSlot(SlideType.TITLE, "Product Launch"),
            SlideSlot(SlideType.CONTENT, "The Vision"),
            SlideSlot(SlideType.IMAGE_TEXT, "Product Overview"),
            SlideSlot(SlideType.ICON_GRID, "Key Features"),
            SlideSlot(SlideType.COMPARISON, "Competitive Edge"),
            SlideSlot(SlideType.BIG_NUMBER, "Market Impact"),
            SlideSlot(SlideType.STEP_CARDS, "Launch Plan"),
            SlideSlot(SlideType.TIMELINE, "Rollout Schedule"),
            SlideSlot(SlideType.CLOSING, "Call to Action"),
        ),
    ),
    "case_study": DeckArchetype(
        name="case_study",
        display_name="Case Study",
        description="Customer success or case study with challenge, approach, results, and testimonial.",
        min_slides=7,
        max_slides=15,
        slots=(
            SlideSlot(SlideType.TITLE, "Case Study"),
            SlideSlot(SlideType.CONTENT, "Client Overview"),
            SlideSlot(SlideType.CONTENT, "The Challenge"),
            SlideSlot(SlideType.PROCESS, "Our Approach"),
            SlideSlot(SlideType.DASHBOARD, "Results"),
            SlideSlot(SlideType.BIG_NUMBER, "Key Metric"),
            SlideSlot(SlideType.QUOTE, "Client Testimonial"),
            SlideSlot(SlideType.ICON_GRID, "Lessons Learned"),
            SlideSlot(SlideType.CLOSING, "Contact Us"),
        ),
    ),
    "quarterly_earnings": DeckArchetype(
        name="quarterly_earnings",
        display_name="Quarterly Earnings",
        description="Quarterly financial report with highlights, revenue trends, and guidance.",
        min_slides=8,
        max_slides=18,
        slots=(
            SlideSlot(SlideType.TITLE, "Quarterly Earnings"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.DASHBOARD, "Financial Highlights"),
            SlideSlot(SlideType.BIG_NUMBER, "Revenue"),
            SlideSlot(SlideType.CHART, "Revenue Trend"),
            SlideSlot(SlideType.CHART, "Segment Performance"),
            SlideSlot(SlideType.TABLE, "Financial Summary"),
            SlideSlot(SlideType.CONTENT, "Guidance & Outlook"),
            SlideSlot(SlideType.CLOSING, "Q&A"),
        ),
    ),
    "onboarding": DeckArchetype(
        name="onboarding",
        display_name="Onboarding",
        description="New hire or client onboarding with company values, timeline, and key contacts.",
        min_slides=7,
        max_slides=15,
        slots=(
            SlideSlot(SlideType.TITLE, "Onboarding"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Welcome"),
            SlideSlot(SlideType.ICON_GRID, "Company Values"),
            SlideSlot(SlideType.PROCESS, "Onboarding Timeline"),
            SlideSlot(SlideType.STEP_CARDS, "First Steps"),
            SlideSlot(SlideType.TEAM, "Key Contacts"),
            SlideSlot(SlideType.TABLE, "Resources & Links"),
            SlideSlot(SlideType.CLOSING, "Next Steps"),
        ),
    ),
    "annual_report": DeckArchetype(
        name="annual_report",
        display_name="Annual Report",
        description="Year-in-review with annual KPIs, milestones, leadership, and year-ahead outlook.",
        min_slides=8,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Annual Report"),
            SlideSlot(SlideType.AGENDA, "Agenda"),
            SlideSlot(SlideType.CONTENT, "Year in Review"),
            SlideSlot(SlideType.DASHBOARD, "Annual KPIs"),
            SlideSlot(SlideType.BIG_NUMBER, "Headline Achievement"),
            SlideSlot(SlideType.CHART, "YoY Performance"),
            SlideSlot(SlideType.ICON_GRID, "Key Milestones"),
            SlideSlot(SlideType.TEAM, "Leadership"),
            SlideSlot(SlideType.TIMELINE, "Year Ahead"),
            SlideSlot(SlideType.CLOSING, "Thank You"),
        ),
    ),
    "conference_talk": DeckArchetype(
        name="conference_talk",
        display_name="Conference Talk",
        description="Keynote or conference presentation with big ideas, deep dives, and takeaways.",
        min_slides=6,
        max_slides=20,
        slots=(
            SlideSlot(SlideType.TITLE, "Conference Talk"),
            SlideSlot(SlideType.CONTENT, "The Big Idea"),
            SlideSlot(SlideType.BIG_NUMBER, "Key Statistic"),
            SlideSlot(SlideType.CONTENT, "Deep Dive"),
            SlideSlot(SlideType.SECTION, "Demo"),
            SlideSlot(SlideType.QUOTE, "Industry Voice"),
            SlideSlot(SlideType.ICON_GRID, "Key Takeaways"),
            SlideSlot(SlideType.CLOSING, "Thank You & Q&A"),
        ),
    ),
}
