/** * Bootstrap - Application Initialization and DI Setup * * This file wires all dependencies together and creates the service container. * It's the single entry point for configuring the application. */ import { ServiceContainer } from './di/Container.js'; import { type ILogger, type CustomerConfig, type MultiCustomerConfig } from '../domain/resources/common/types.js'; import { SyncEngine, type SyncEngineOptions } from '../application/sync/SyncEngine.js'; import { MigrationEngine } from '../application/migration/MigrationEngine.js'; import type { FormatVersion } from '../format/types.js'; import type { AxiosInstance } from 'axios'; /** * API Client Factory that creates authenticated clients */ export declare function createApiClient(customer: CustomerConfig, verbose: boolean): Promise; /** * Bootstrap options */ export interface BootstrapOptions { /** * Enable verbose logging */ verbose?: boolean; /** * Sync engine options */ syncEngineOptions?: SyncEngineOptions; /** * Format version for project sync strategy * 'newo_v2' uses V2ProjectSyncStrategy, 'cli_v1' (default) uses ProjectSyncStrategy */ formatVersion?: FormatVersion | undefined; } /** * Create and configure the service container */ export declare function createServiceContainer(customerConfig: MultiCustomerConfig, options?: BootstrapOptions): ServiceContainer; /** * Get SyncEngine from container */ export declare function getSyncEngine(container: ServiceContainer): SyncEngine; /** * Get MigrationEngine from container */ export declare function getMigrationEngine(container: ServiceContainer): MigrationEngine; /** * Get Logger from container */ export declare function getLogger(container: ServiceContainer): ILogger; /** * Quick setup for CLI commands * * Creates a configured container with all services ready to use. */ export declare function setupCli(customerConfig: MultiCustomerConfig, verbose?: boolean, formatVersion?: FormatVersion): { container: ServiceContainer; syncEngine: SyncEngine; migrationEngine: MigrationEngine; logger: ILogger; }; /** * Adapter function for legacy pull command * * This provides backward compatibility with the existing CLI. */ export declare function legacyPullAdapter(customerConfig: MultiCustomerConfig, customer: CustomerConfig, verbose: boolean, silentOverwrite: boolean): Promise; /** * Adapter function for legacy push command */ export declare function legacyPushAdapter(customerConfig: MultiCustomerConfig, customer: CustomerConfig, verbose: boolean): Promise; /** * Adapter function for legacy status command */ export declare function legacyStatusAdapter(customerConfig: MultiCustomerConfig, customer: CustomerConfig, verbose: boolean): Promise; /** * Adapter function for legacy migrate command */ export declare function legacyMigrateAdapter(customerConfig: MultiCustomerConfig, sourceCustomer: CustomerConfig, destCustomer: CustomerConfig, sourceClient: AxiosInstance, destClient: AxiosInstance, verbose: boolean): Promise; //# sourceMappingURL=bootstrap.d.ts.map