/**
 * Confluence Configuration Manager
 * Part of ADPA (Automated Document Processing Assistant) v2.1.3
 *
 * Manages Confluence integration configuration
 * Features:
 * - Configuration validation and storage
 * - Environment variable support
 * - Secure credential handling
 * - Configuration templates and defaults
 */
import { ConfluenceConfig } from './ConfluencePublisher.js';
export interface ConfluenceConfigFile {
    confluence?: {
        authMethod?: 'oauth2' | 'api-token';
        oauth2?: {
            redirectUri?: string;
            scopes?: string[];
        };
        baseUrl?: string;
        email?: string;
        spaceKey?: string;
        parentPageId?: string;
        cloudId?: string;
        defaultLabels?: string[];
        publishingOptions?: {
            createParentPages?: boolean;
            updateExisting?: boolean;
            includeMetadata?: boolean;
            rateLimitDelay?: number;
        };
    };
}
/**
 * Configuration manager for Confluence integration
 */
export declare class ConfluenceConfigManager {
    private configPath;
    private config;
    constructor(configPath?: string);
    /**
     * Load configuration from file
     * @returns Configuration object
     */
    private loadConfig;
    /**
     * Save configuration to file
     */
    saveConfig(): void; /**
     * Get Confluence configuration with environment variable fallbacks
     * @returns Complete Confluence configuration
     */
    getConfluenceConfig(): ConfluenceConfig;
    /**
     * Validate current Confluence configuration
     * @returns Validation result
     */
    validateConfiguration(): {
        valid: boolean;
        errors: string[];
        warnings: string[];
    }; /**
     * Update Confluence configuration
     * @param updates Configuration updates
     */
    updateConfluenceConfig(updates: Partial<ConfluenceConfig>): void;
    /**
     * Set default labels for published documents
     * @param labels Array of default labels
     */
    setDefaultLabels(labels: string[]): void;
    /**
     * Update publishing options
     * @param options Publishing options
     */
    updatePublishingOptions(options: NonNullable<ConfluenceConfigFile['confluence']>['publishingOptions']): void;
    /**
     * Get publishing options with defaults
     * @returns Publishing options
     */
    getPublishingOptions(): NonNullable<ConfluenceConfigFile['confluence']>['publishingOptions'];
    /**
     * Get default labels for publishing
     * @returns Array of default labels
     */
    getDefaultLabels(): string[];
    /**
     * Create a configuration template for Confluence integration setup
     * @returns Configuration template
     */
    createConfigurationTemplate(): ConfluenceConfigFile;
    /**
     * Initialize Confluence configuration with guided setup
     * @param interactive Whether to run interactive setup
     * @returns Setup result
     */
    initializeConfiguration(interactive?: boolean): Promise<{
        success: boolean;
        message: string;
        configPath?: string;
    }>;
    /**
     * Get environment variable setup instructions
     * @returns Setup instructions
     */
    getEnvironmentSetupInstructions(): string;
    /**
     * Display current configuration status
     * @returns Configuration status report
     */
    getConfigurationStatus(): {
        configured: boolean;
        valid: boolean;
        errors: string[];
        warnings: string[];
        envVarsSet: string[];
        envVarsMissing: string[];
    };
}
/**
 * Factory function to create ConfluenceConfigManager
 * @param configPath Optional config file path
 * @returns ConfluenceConfigManager instance
 */
export declare function createConfluenceConfigManager(configPath?: string): ConfluenceConfigManager;
//# sourceMappingURL=ConfluenceConfigManager.d.ts.map