import type { Database } from "bun:sqlite";
import type { TemplateVariable, TemplateTaskInput } from "../types/index.js";
import type { TemplateExport } from "./templates.js";
export declare const BUILTIN_TEMPLATE_LIBRARY_VERSION = "2026-05-21";
export declare const BUILTIN_TEMPLATE_LIBRARY_SOURCE = "bundled-local-template-library";
export interface BuiltinTemplate {
    name: string;
    description: string;
    category: string;
    version: string;
    variables: TemplateVariable[];
    tasks: (TemplateTaskInput & {
        position: number;
        depends_on_positions?: number[];
    })[];
}
export declare const TEMPLATE_LIBRARY_SCHEMA = "todos.template_library.v1";
export declare const BUILTIN_TEMPLATES: BuiltinTemplate[];
export declare function listBuiltinTemplates(): BuiltinTemplate[];
export declare function getBuiltinTemplate(name: string): BuiltinTemplate | null;
export declare function exportBuiltinTemplate(name: string): TemplateExport;
export declare function exportBuiltinTemplateFiles(): Array<{
    filename: string;
    template: TemplateExport;
}>;
export declare function writeBuiltinTemplateFiles(directory: string): {
    directory: string;
    written: number;
    files: string[];
};
/**
 * Initialize built-in templates. Skips any template whose name already exists.
 * Returns the count of templates created.
 */
export declare function initBuiltinTemplates(db?: Database): {
    created: number;
    skipped: number;
    names: string[];
};
//# sourceMappingURL=builtin-templates.d.ts.map