"use strict";
/**
 * Account Manager Module
 * Barrel export for all account management functionality
 *
 * This module manages multiple OAuth accounts per provider (Gemini, Codex, etc.).
 * Each provider can have multiple accounts, with one designated as default.
 *
 * Account storage: ~/.ccs/cliproxy/accounts.json
 * Token storage: ~/.ccs/cliproxy/auth/ (flat structure, CLIProxyAPI discovers by type field)
 * Paused tokens: ~/.ccs/cliproxy/auth-paused/ (sibling dir, outside CLIProxyAPI scan path)
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.soloAccount = exports.bulkResumeAccounts = exports.bulkPauseAccounts = exports.getAllAccountsSummary = exports.isAccountPaused = exports.getActiveAccounts = exports.findAccountByQuery = exports.getAccount = exports.getDefaultAccount = exports.getProviderAccounts = exports.discoverExistingAccounts = exports.setAccountTier = exports.touchAccount = exports.renameAccount = exports.removeAccount = exports.resumeAccount = exports.pauseAccount = exports.setDefaultAccount = exports.registerAccount = exports.syncRegistryWithTokenFiles = exports.saveAccountsRegistry = exports.loadAccountsRegistry = exports.tokenFileExists = exports.findAccountNameMatch = exports.hasAccountNameConflict = exports.validateNickname = exports.generateNickname = exports.deriveNoEmailProviderAccountId = exports.extractAccountIdFromTokenFile = exports.getAccountTokenPath = exports.getPausedDir = exports.getAccountsRegistryPath = exports.PROVIDERS_WITHOUT_EMAIL = void 0;
var types_1 = require("./types");
Object.defineProperty(exports, "PROVIDERS_WITHOUT_EMAIL", { enumerable: true, get: function () { return types_1.PROVIDERS_WITHOUT_EMAIL; } });
// Token file operations
var token_file_ops_1 = require("./token-file-ops");
Object.defineProperty(exports, "getAccountsRegistryPath", { enumerable: true, get: function () { return token_file_ops_1.getAccountsRegistryPath; } });
Object.defineProperty(exports, "getPausedDir", { enumerable: true, get: function () { return token_file_ops_1.getPausedDir; } });
Object.defineProperty(exports, "getAccountTokenPath", { enumerable: true, get: function () { return token_file_ops_1.getAccountTokenPath; } });
Object.defineProperty(exports, "extractAccountIdFromTokenFile", { enumerable: true, get: function () { return token_file_ops_1.extractAccountIdFromTokenFile; } });
Object.defineProperty(exports, "deriveNoEmailProviderAccountId", { enumerable: true, get: function () { return token_file_ops_1.deriveNoEmailProviderAccountId; } });
Object.defineProperty(exports, "generateNickname", { enumerable: true, get: function () { return token_file_ops_1.generateNickname; } });
Object.defineProperty(exports, "validateNickname", { enumerable: true, get: function () { return token_file_ops_1.validateNickname; } });
Object.defineProperty(exports, "hasAccountNameConflict", { enumerable: true, get: function () { return token_file_ops_1.hasAccountNameConflict; } });
Object.defineProperty(exports, "findAccountNameMatch", { enumerable: true, get: function () { return token_file_ops_1.findAccountNameMatch; } });
Object.defineProperty(exports, "tokenFileExists", { enumerable: true, get: function () { return token_file_ops_1.tokenFileExists; } });
// Registry operations (CRUD)
var registry_1 = require("./registry");
Object.defineProperty(exports, "loadAccountsRegistry", { enumerable: true, get: function () { return registry_1.loadAccountsRegistry; } });
Object.defineProperty(exports, "saveAccountsRegistry", { enumerable: true, get: function () { return registry_1.saveAccountsRegistry; } });
Object.defineProperty(exports, "syncRegistryWithTokenFiles", { enumerable: true, get: function () { return registry_1.syncRegistryWithTokenFiles; } });
Object.defineProperty(exports, "registerAccount", { enumerable: true, get: function () { return registry_1.registerAccount; } });
Object.defineProperty(exports, "setDefaultAccount", { enumerable: true, get: function () { return registry_1.setDefaultAccount; } });
Object.defineProperty(exports, "pauseAccount", { enumerable: true, get: function () { return registry_1.pauseAccount; } });
Object.defineProperty(exports, "resumeAccount", { enumerable: true, get: function () { return registry_1.resumeAccount; } });
Object.defineProperty(exports, "removeAccount", { enumerable: true, get: function () { return registry_1.removeAccount; } });
Object.defineProperty(exports, "renameAccount", { enumerable: true, get: function () { return registry_1.renameAccount; } });
Object.defineProperty(exports, "touchAccount", { enumerable: true, get: function () { return registry_1.touchAccount; } });
Object.defineProperty(exports, "setAccountTier", { enumerable: true, get: function () { return registry_1.setAccountTier; } });
Object.defineProperty(exports, "discoverExistingAccounts", { enumerable: true, get: function () { return registry_1.discoverExistingAccounts; } });
// Query operations
var query_1 = require("./query");
Object.defineProperty(exports, "getProviderAccounts", { enumerable: true, get: function () { return query_1.getProviderAccounts; } });
Object.defineProperty(exports, "getDefaultAccount", { enumerable: true, get: function () { return query_1.getDefaultAccount; } });
Object.defineProperty(exports, "getAccount", { enumerable: true, get: function () { return query_1.getAccount; } });
Object.defineProperty(exports, "findAccountByQuery", { enumerable: true, get: function () { return query_1.findAccountByQuery; } });
Object.defineProperty(exports, "getActiveAccounts", { enumerable: true, get: function () { return query_1.getActiveAccounts; } });
Object.defineProperty(exports, "isAccountPaused", { enumerable: true, get: function () { return query_1.isAccountPaused; } });
Object.defineProperty(exports, "getAllAccountsSummary", { enumerable: true, get: function () { return query_1.getAllAccountsSummary; } });
// Bulk operations
var bulk_ops_1 = require("./bulk-ops");
Object.defineProperty(exports, "bulkPauseAccounts", { enumerable: true, get: function () { return bulk_ops_1.bulkPauseAccounts; } });
Object.defineProperty(exports, "bulkResumeAccounts", { enumerable: true, get: function () { return bulk_ops_1.bulkResumeAccounts; } });
Object.defineProperty(exports, "soloAccount", { enumerable: true, get: function () { return bulk_ops_1.soloAccount; } });
//# sourceMappingURL=index.js.map