import { MonitoringConfig, ThemeConfig, LayoutConfig } from '../types/monitoring';
export type ConfigFormat = 'json' | 'yaml';
export interface ExportOptions {
    format: ConfigFormat;
    includeMetadata?: boolean;
    includeCustomThemes?: boolean;
    includeCustomLayouts?: boolean;
    minify?: boolean;
}
export interface ImportOptions {
    format?: ConfigFormat;
    validateOnly?: boolean;
    mergeMode?: 'replace' | 'merge' | 'selective';
    backupOriginal?: boolean;
}
export interface ExportManifest {
    exportedAt: string;
    version: string;
    format: ConfigFormat;
    source: string;
    components: {
        config: boolean;
        themes: number;
        layouts: number;
    };
    metadata?: Record<string, any>;
}
export interface ImportResult {
    success: boolean;
    config?: MonitoringConfig | undefined;
    themes?: ThemeConfig[];
    layouts?: LayoutConfig[];
    manifest?: ExportManifest;
    warnings: string[];
    errors: string[];
}
export declare class ConfigImporter {
    static importFromFile(filePath: string, options?: ImportOptions): Promise<ImportResult>;
    static importFromData(data: any, _options?: ImportOptions): Promise<ImportResult>;
    private static detectFormat;
    private static parseContent;
    private static validateManifest;
    private static importConfig;
    private static importThemes;
    private static importLayouts;
}
export declare class ConfigExporter {
    static exportToFile(config: MonitoringConfig, filePath: string, options?: ExportOptions): Promise<void>;
    static exportComplete(config: MonitoringConfig, themes: ThemeConfig[], layouts: LayoutConfig[], filePath: string, options?: ExportOptions): Promise<void>;
    static exportToString(config: MonitoringConfig, options?: ExportOptions): string;
    private static createExportData;
    private static createManifest;
    private static serializeData;
}
export declare class ConfigVersionManager {
    private static readonly SUPPORTED_VERSIONS;
    private static readonly CURRENT_VERSION;
    static isVersionSupported(version: string): boolean;
    static getCurrentVersion(): string;
    static migrateConfig(config: any, fromVersion: string): MonitoringConfig;
    static getMigrationPath(fromVersion: string, toVersion: string): string[];
}
//# sourceMappingURL=config-io.d.ts.map