UNPKG

kdp-book-generator

Version:

Generate KDP-compliant PDFs and EPUBs from Markdown for Amazon book publishing

51 lines 2.17 kB
import { BookConfig, BookFormat, Margins, Typography, PageNumberConfig } from '../types'; /** * Manager for book configuration with KDP-compliant defaults and validation * * Features: * - Pre-defined KDP-compliant book formats * - Automatic margin calculation based on page count * - Configuration validation and merging * - Typography presets for professional book layout */ export declare class BookConfigManager { private static readonly KDP_FORMATS; /** * Get the default book configuration with KDP-compliant settings * * @returns Default BookConfig with 6"x9" format and standard typography */ static getDefaultConfig(): BookConfig; static getKindleConfig(): BookConfig; /** * Calculate KDP-compliant margins based on page count * * @param pageCount - Total number of pages in the book * @param format - Book format identifier (e.g., '6x9', '5.5x8.5') * @returns Margins object with calculated inside/outside margins per KDP requirements * * KDP margin requirements: * - 24 pages or less: 0.375" inside * - 25-150 pages: 0.5" inside * - 151-300 pages: 0.625" inside * - 301-500 pages: 0.75" inside * - 501+ pages: 0.875" inside */ static calculateKDPMargins(pageCount: number, format: string): Margins; static getDefaultTypography(): Typography; static getDefaultPageNumbers(): PageNumberConfig; static validateConfig(config: BookConfig): { valid: boolean; errors: string[]; }; static getAvailableFormats(): string[]; static getFormatByName(name: string): BookFormat | undefined; static createCustomFormat(name: string, width: number, height: number, unit?: 'in' | 'mm' | 'cm'): BookFormat; static getKindleMargins(): Margins; static getKindleTypography(): Typography; static getKindlePageNumbers(): PageNumberConfig; static mergeConfig(defaultConfig: BookConfig, userConfig: Partial<BookConfig>): BookConfig; static loadFromFile(_configPath: string): BookConfig; static saveToFile(_config: BookConfig, _configPath: string): void; } //# sourceMappingURL=book-config.d.ts.map