import { LoggingAdapter, MergePdfsOptions } from '../types.js';
/**
 * Service for merging PDF documents
 */
export declare class MergeService {
    private readonly logger;
    constructor(logger?: LoggingAdapter);
    /**
     * Merge multiple PDF buffers into a single PDF
     */
    mergePdfs(chunks: Buffer[], options?: MergePdfsOptions): Promise<Buffer>;
    /**
     * Get information about PDF buffers without merging
     */
    analyzePdfs(chunks: Buffer[]): Promise<{
        totalChunks: number;
        totalPages: number;
        totalSize: number;
        chunkInfo: Array<{
            index: number;
            pages: number;
            sizeKB: number;
            valid: boolean;
            error?: string;
        }>;
    }>;
    /**
     * Validate PDF buffers
     */
    validatePdfs(chunks: Buffer[]): Promise<{
        valid: boolean;
        errors: Array<{
            chunkIndex: number;
            error: string;
        }>;
    }>;
    /**
     * Split a PDF into individual page buffers
     */
    splitPdf(pdfBuffer: Buffer): Promise<Buffer[]>;
    /**
     * Extract specific pages from a PDF
     */
    extractPages(pdfBuffer: Buffer, pageIndices: number[]): Promise<Buffer>;
    /**
     * Get PDF metadata
     */
    getPdfInfo(pdfBuffer: Buffer): Promise<{
        pages: number;
        sizeKB: number;
        title?: string;
        author?: string;
        creator?: string;
        producer?: string;
        creationDate?: Date;
        modificationDate?: Date;
    }>;
    /**
     * Add page numbers to a PDF document
     */
    addPageNumbers(pdfBuffer: Buffer, options?: {
        userInfo?: {
            companyName?: string;
            name?: string;
        };
        isRTL?: boolean;
    }): Promise<Buffer>;
}
//# sourceMappingURL=MergeService.d.ts.map