/**
 * Builtin workflow templates - single source of truth.
 *
 * This file defines all builtin templates used by:
 * - UI prompts (template selection menu)
 * - Database seeding (pmo_templates table)
 * - Board column creation
 * - Work command column mappings
 */
import { StateCategory } from './types.js';
export interface WorkflowTemplateStatus {
    name: string;
    category: StateCategory;
    position: number;
}
export interface ColumnSettings {
    column_planned: string;
    column_in_progress: string;
    column_done: string;
}
export interface BuiltinTemplate {
    /** Unique identifier used in code and database */
    id: string;
    /** Display name shown in UI */
    name: string;
    /** Description of the workflow */
    description: string;
    /** Column names for the board UI */
    columns: string[];
    /** Workflow statuses for state tracking */
    statuses: WorkflowTemplateStatus[];
    /** Column mappings for work commands (start, ready, complete) */
    columnSettings: ColumnSettings;
    /** Whether to show in the init template picker (false for specialized templates) */
    showInPicker: boolean;
}
/**
 * All builtin workflow templates.
 *
 * This is the SINGLE SOURCE OF TRUTH for:
 * - Database seeding (seedBuiltinWorkflows reads from this)
 * - UI template picker
 * - Board column creation
 * - Work command column mappings
 *
 * To add a new template:
 * 1. Add it to this array
 * 2. That's it - UI and DB will pick it up automatically
 */
export declare const BUILTIN_TEMPLATES: BuiltinTemplate[];
/**
 * Get a template by ID.
 */
export declare function getBuiltinTemplate(id: string): BuiltinTemplate | undefined;
/**
 * Get templates that should be shown in the init picker.
 */
export declare function getPickerTemplates(): BuiltinTemplate[];
/**
 * Get columns for a template (for backward compatibility).
 */
export declare function getColumnsForTemplate(templateId: string): string[];
/**
 * Get column settings for a template (for backward compatibility).
 */
export declare function getColumnSettingsForTemplate(templateId: string, columns: string[]): ColumnSettings;
