/**
 * Adobe Illustrator API Client
 *
 * Provides integration with Adobe Illustrator APIs for automated
 * data visualization, infographics, and vector graphics generation.
 */
export interface VisualizationRequest {
    type: 'timeline' | 'chart' | 'infographic' | 'process-flow' | 'stakeholder-matrix';
    data: any;
    style: VisualizationStyle;
    dimensions: {
        width: number;
        height: number;
        dpi: number;
    };
    outputFormat: 'ai' | 'svg' | 'png' | 'pdf';
}
export interface VisualizationStyle {
    colorScheme: string[];
    fontFamily: string;
    theme: 'corporate' | 'modern' | 'minimal' | 'technical';
    branding?: {
        logo?: string;
        primaryColor: string;
        secondaryColor: string;
        accentColor: string;
    };
}
export interface TimelineData {
    title: string;
    milestones: Milestone[];
    startDate: Date;
    endDate: Date;
    phases?: Phase[];
}
export interface Milestone {
    id: string;
    title: string;
    date: Date;
    description?: string;
    status: 'completed' | 'in-progress' | 'pending' | 'at-risk';
    deliverables?: string[];
}
export interface Phase {
    id: string;
    name: string;
    startDate: Date;
    endDate: Date;
    color: string;
    milestones: string[];
}
export interface ChartData {
    title: string;
    type: 'bar' | 'pie' | 'line' | 'scatter' | 'matrix' | 'gantt';
    datasets: Dataset[];
    labels: string[];
    options?: ChartOptions;
}
export interface Dataset {
    label: string;
    data: number[];
    backgroundColor?: string[];
    borderColor?: string;
    borderWidth?: number;
}
export interface ChartOptions {
    responsive: boolean;
    showLegend: boolean;
    showLabels: boolean;
    showValues: boolean;
    gridLines: boolean;
    animations: boolean;
}
export interface ProcessFlowData {
    title: string;
    nodes: FlowNode[];
    connections: FlowConnection[];
    layout: 'horizontal' | 'vertical' | 'circular' | 'hierarchical';
}
export interface FlowNode {
    id: string;
    label: string;
    type: 'start' | 'process' | 'decision' | 'end' | 'connector';
    position?: {
        x: number;
        y: number;
    };
    styling?: NodeStyling;
}
export interface FlowConnection {
    from: string;
    to: string;
    label?: string;
    type: 'normal' | 'conditional' | 'error' | 'success';
}
export interface NodeStyling {
    fillColor: string;
    borderColor: string;
    textColor: string;
    shape: 'rectangle' | 'circle' | 'diamond' | 'hexagon';
}
export interface IllustratorAsset {
    id: string;
    type: string;
    outputPath: string;
    format: string;
    dimensions: {
        width: number;
        height: number;
        dpi: number;
    };
    fileSize: number;
    metadata: {
        createdAt: Date;
        processingTime: number;
        dataPoints: number;
        complexity: 'simple' | 'moderate' | 'complex';
    };
    previewUrl?: string;
}
export declare class IllustratorAPIClient {
    private authenticator;
    private apiEndpoint;
    private accessToken;
    constructor();
    /**
     * Initialize the client and authenticate with Adobe Illustrator API
     */
    initialize(): Promise<void>;
    /**
     * Generate a project timeline infographic
     */
    generateTimeline(data: TimelineData, style: VisualizationStyle): Promise<IllustratorAsset>;
    /**
     * Generate charts and graphs from data
     */
    generateChart(data: ChartData, style: VisualizationStyle): Promise<IllustratorAsset>;
    /**
     * Generate process flow diagrams
     */
    generateProcessFlow(data: ProcessFlowData, style: VisualizationStyle): Promise<IllustratorAsset>;
    /**
     * Generate infographics from content data
     */
    generateInfographic(content: any, type: 'project-summary' | 'requirements-overview' | 'risk-assessment', style: VisualizationStyle): Promise<IllustratorAsset>;
    /**
     * Batch generate multiple visualizations
     */
    batchGenerateVisualizations(requests: VisualizationRequest[]): Promise<IllustratorAsset[]>;
    /**
     * Extract visualizable data from document content
     */
    analyzeContentForVisualization(content: string): Promise<{
        timelines: TimelineData[];
        charts: ChartData[];
        processes: ProcessFlowData[];
    }>;
    private ensureAuthenticated;
    private createVisualization;
    private assessComplexity;
    private countContentElements;
}
export declare const illustratorClient: IllustratorAPIClient;
//# sourceMappingURL=illustrator-client.d.ts.map