/** * Adobe InDesign Server API Client * * Provides integration with Adobe InDesign Server APIs for professional * document layout, template processing, and advanced typography. */ export interface InDesignTemplate { id: string; name: string; description: string; documentType: 'project-charter' | 'requirements-doc' | 'management-plan' | 'technical-spec'; templatePath: string; previewImage?: string; variables: InDesignVariable[]; outputFormats: string[]; } export interface InDesignVariable { name: string; type: 'text' | 'image' | 'table' | 'chart'; required: boolean; description: string; defaultValue?: any; } export interface InDesignDocumentRequest { templateId: string; content: { title: string; subtitle?: string; author: string; date: Date; sections: DocumentSection[]; metadata?: Record; }; branding: { logoPath?: string; colorScheme: string; typography: TypographySettings; }; outputOptions: { format: 'pdf' | 'indd' | 'idml'; quality: 'standard' | 'high' | 'print-ready'; pages?: 'all' | number[]; }; } export interface DocumentSection { id: string; type: 'heading' | 'paragraph' | 'list' | 'table' | 'image' | 'chart'; content: any; styling?: SectionStyling; } export interface TypographySettings { headingFont: string; bodyFont: string; codeFont: string; lineHeight: number; margins: { top: string; right: string; bottom: string; left: string; }; } export interface SectionStyling { fontSize?: string; fontWeight?: string; color?: string; backgroundColor?: string; padding?: string; margin?: string; } export interface InDesignDocument { id: string; templateUsed: string; outputPath: string; format: string; pageCount: number; fileSize: number; metadata: { createdAt: Date; processingTime: number; template: string; version: string; }; previewUrl?: string; } export declare class InDesignAPIClient { private authenticator; private apiEndpoint; private accessToken; constructor(); /** * Initialize the client and authenticate with Adobe InDesign Server */ initialize(): Promise; /** * List available InDesign templates */ listTemplates(): Promise; /** * Create a professional document using InDesign template */ createDocument(request: InDesignDocumentRequest): Promise; /** * Generate multiple format outputs from a single template */ createMultiFormatDocument(request: InDesignDocumentRequest, formats: string[]): Promise; /** * Batch process multiple documents */ batchCreateDocuments(requests: InDesignDocumentRequest[]): Promise; private ensureAuthenticated; private loadTemplate; private processContent; private applyBranding; private generateOutput; } export declare const indesignClient: InDesignAPIClient; //# sourceMappingURL=indesign-client.d.ts.map