/**
 * Profile Mapper for CLIProxy Sync
 *
 * Transforms CCS settings-based profiles into CLIProxy ClaudeKey format.
 */
import type { ClaudeKey } from '../management/management-api-types';
/**
 * Profile info with settings for sync.
 */
export interface SyncableProfile {
    /** Profile name (e.g., "glm", "kimi") */
    name: string;
    /** Path to settings.json file */
    settingsPath: string;
    /** Whether profile has valid API key */
    isConfigured: boolean;
    /** Environment variables from settings.json */
    env?: Record<string, string>;
}
/**
 * Load syncable API profiles from CCS config.
 * Filters to only configured profiles (with real API keys).
 */
export declare function loadSyncableProfiles(): SyncableProfile[];
/**
 * Map a single profile to ClaudeKey format.
 */
export declare function mapProfileToClaudeKey(profile: SyncableProfile): ClaudeKey | null;
/**
 * Generate sync payload from all configured profiles.
 * Returns array of ClaudeKey ready to push to remote CLIProxy.
 */
export declare function generateSyncPayload(): ClaudeKey[];
/**
 * Generate sync preview with profile details.
 * Used for dry-run mode to show what would be synced.
 */
export interface SyncPreviewItem {
    /** Profile name */
    name: string;
    /** Base URL (masked) */
    baseUrl?: string;
    /** Model name */
    modelName?: string;
}
export declare function generateSyncPreview(): SyncPreviewItem[];
/**
 * Get count of syncable profiles.
 */
export declare function getSyncableProfileCount(): number;
/**
 * Check if profile is syncable (configured with valid API key).
 */
export declare function isProfileSyncable(profileName: string): boolean;
//# sourceMappingURL=profile-mapper.d.ts.map