import { NicePresentationDocument } from '../types/presentationTypes';

export interface ArchitectureOverviewData {
    /** Project info */
    project: {
        name: string;
        version: string;
        description: string;
        team?: string;
    };
    /** System overview */
    systemOverview: {
        summary: string;
        diagramUrl?: string;
        keyCharacteristics: Array<{
            label: string;
            value: string;
        }>;
    };
    /** Components/Services */
    components: Array<{
        name: string;
        type: 'frontend' | 'backend' | 'service' | 'database' | 'cache' | 'queue' | 'external';
        description: string;
        technology: string;
        owner?: string;
    }>;
    /** Data flow */
    dataFlow: {
        description: string;
        steps: Array<{
            from: string;
            to: string;
            description: string;
            protocol?: string;
        }>;
    };
    /** Tech stack */
    techStack: {
        frontend?: Array<{
            name: string;
            version?: string;
            purpose: string;
        }>;
        backend?: Array<{
            name: string;
            version?: string;
            purpose: string;
        }>;
        database?: Array<{
            name: string;
            version?: string;
            purpose: string;
        }>;
        infrastructure?: Array<{
            name: string;
            purpose: string;
        }>;
        tools?: Array<{
            name: string;
            purpose: string;
        }>;
    };
    /** Infrastructure */
    infrastructure: {
        provider: string;
        regions?: string[];
        services: Array<{
            name: string;
            purpose: string;
            icon?: string;
        }>;
        diagram?: string;
    };
    /** Security */
    security?: {
        authMethod: string;
        encryption: string;
        compliance?: string[];
        practices: string[];
    };
    /** Roadmap */
    roadmap?: Array<{
        phase: string;
        timeline: string;
        items: string[];
        status: 'completed' | 'in-progress' | 'planned';
    }>;
}
/**
 * Generate a complete architecture overview presentation
 */
export declare function generateArchitectureOverview(data: ArchitectureOverviewData): NicePresentationDocument;
/**
 * Create sample architecture data for demo
 */
export declare function createSampleArchitectureData(): ArchitectureOverviewData;
//# sourceMappingURL=ArchitectureOverviewTemplate.d.ts.map