/**
 * 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