adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
118 lines • 3.24 kB
TypeScript
/**
* 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<string, any>;
};
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<void>;
/**
* List available InDesign templates
*/
listTemplates(): Promise<InDesignTemplate[]>;
/**
* Create a professional document using InDesign template
*/
createDocument(request: InDesignDocumentRequest): Promise<InDesignDocument>;
/**
* Generate multiple format outputs from a single template
*/
createMultiFormatDocument(request: InDesignDocumentRequest, formats: string[]): Promise<InDesignDocument[]>;
/**
* Batch process multiple documents
*/
batchCreateDocuments(requests: InDesignDocumentRequest[]): Promise<InDesignDocument[]>;
private ensureAuthenticated;
private loadTemplate;
private processContent;
private applyBranding;
private generateOutput;
}
export declare const indesignClient: InDesignAPIClient;
//# sourceMappingURL=indesign-client.d.ts.map