import { SQLiteStorage } from './storage-sqlite.js';
export * from './types.js';
export * from './utils.js';
export { parseBoard, generateBoardMarkdown, findAddedTickets, findRemovedTickets, findModifiedTickets, } from './markdown.js';
export { SQLiteStorage } from './storage-sqlite.js';
export { getStorageWithAutoSync, autoExportToBoard, withAutoExport, autoSyncFromBoard, getBoardPath, getWorkspaceDbPath, } from './sync-manager.js';
export { startWatcher, runWatcherForeground, type WatcherOptions, type WatcherInstance, type SyncStats, } from './watcher.js';
export { createSpecFolders, getSpecFolderPath, getProjectPath, getProductPath, getEpicsPath, } from './create-spec-folders.js';
export { findPMO } from './find-pmo.js';
export { getPMOContext, type PMOContext, type GetPMOContextOptions } from './pmo-context.js';
export { PMOCommand, pmoBaseFlags, jsonModeFlags, machineOutputFlags } from './base-command.js';
export { PMO_TABLES, PMO_TABLE_SCHEMAS, PMO_INDEXES, PMO_SCHEMA_SQL, EXPECTED_TICKET_COLUMNS, validateTicketSchema, } from './schema.js';
export { BUILTIN_TEMPLATES, getBuiltinTemplate, getPickerTemplates, getColumnsForTemplate, getColumnSettingsForTemplate, } from './templates-builtin.js';
/**
 * Get available board templates (backward compatibility wrapper).
 * @deprecated Use BUILTIN_TEMPLATES or getColumnsForTemplate() instead
 */
export declare function getBoardTemplates(): {
    [key: string]: string[];
};
export type PMOStorageType = 'sqlite' | 'git';
export type PMOLocation = 'separate' | `repo:${string}`;
export interface PMOSetupResult {
    includePMO: boolean;
    boardTemplate: string;
    storageType: PMOStorageType;
    location: PMOLocation;
    boardName: string;
    columns: string[];
}
/**
 * Detect repositories in an HQ
 */
export declare function detectRepos(hqRoot: string): Array<{
    name: string;
    path: string;
}>;
/**
 * Prompt for PMO location (in-repo vs separate)
 */
export declare function promptForPMOLocation(hqRoot: string | null): Promise<PMOLocation>;
/**
 * Prompt for board template.
 * Uses BUILTIN_TEMPLATES as the single source of truth.
 */
export declare function promptForBoardTemplate(_storage?: SQLiteStorage): Promise<string>;
/**
 * Prompt for custom columns
 */
export declare function promptForCustomColumns(): Promise<string[]>;
/**
 * Prompt for board name
 */
export declare function promptForBoardName(defaultName?: string): Promise<string>;
/**
 * Full PMO setup prompt - used by both `prlt init` and `prlt pmo init`
 *
 * PMO is included by default (no prompt) per TKT-469 requirements.
 */
export declare function promptForPMOSetup(hqRoot: string | null, hqName?: string): Promise<PMOSetupResult>;
/**
 * Create board content for Obsidian Kanban
 */
export declare function createBoardContent(template: string, boardName?: string): string;
/**
 * Determine PMO path based on location setting
 */
export declare function determinePMOPath(hqPath: string, location: PMOLocation): string;
export interface CreatePMOOptions {
    hqPath: string;
    location: PMOLocation;
    boardTemplate: string;
    boardName: string;
    columns: string[];
    storageType?: PMOStorageType;
}
/**
 * Create PMO structure in HQ
 *
 * Used by both `prlt init` and `prlt pmo init` for consistent behavior.
 *
 * Structure:
 * - PMO data is stored in workspace.db (pmo_* tables)
 * - Boards live in pmo/projects/{id}/board.md
 * - Specs live in pmo/projects/{id}/specs/{active,complete,future,dropped}
 */
export declare function createPMO(options: CreatePMOOptions): Promise<void>;
/**
 * Update HQ config to include PMO
 */
export declare function updateHQConfigWithPMO(hqPath: string): void;
/**
 * Check if PMO exists in HQ by checking workspace.db for pmo_projects table
 */
export declare function hasPMO(hqPath: string): boolean;
