/**
 * Base Documentation Template
 * Abstract class for all documentation templates
 */
import { DocumentationIntent } from '../../../types/workflow';
import { ComponentVersions } from '../../utils/version-discovery';
export interface TemplateContext {
    intent: DocumentationIntent;
    workflow: any;
    extendedWorkflow: any;
    versions: ComponentVersions;
    outputDirectory: string;
}
export declare abstract class DocumentationTemplate {
    /**
     * Generate documentation content from intent
     */
    abstract generate(context: TemplateContext): string;
    /**
     * Check if this template can handle the given intent
     */
    abstract canHandle(intent: DocumentationIntent): boolean;
    /**
     * Get output filename for this documentation
     */
    getOutputPath(intent: DocumentationIntent): string;
    /**
     * Helper: Convert string to slug
     */
    protected slugify(text: string): string;
    /**
     * Helper: Capitalize first letter
     */
    protected capitalize(text: string): string;
    /**
     * Helper: Get technology display name
     */
    protected getTechnologyName(technology: string): string;
    /**
     * Helper: Format version for display
     */
    protected formatVersion(version: string): string;
    /**
     * Helper: Generate footer with generation metadata
     */
    protected generateFooter(context: TemplateContext): string;
    /**
     * Helper: Get relevant technology versions for footer
     */
    private getRelevantVersions;
    /**
     * Helper: Get version for a framework
     */
    private getVersionForFramework;
    /**
     * Helper: Get version for auth provider
     */
    private getVersionForAuth;
}
//# sourceMappingURL=base-template.d.ts.map