/** * Core type definitions for mage-db-sync v2 */ export interface DatabaseConfig { username: string; password: string; server: string; domainFolder: string; port: number; localProjectFolder?: string; externalProjectFolder: string; wordpress?: boolean; externalPhpPath?: string; localProjectUrl?: string; commandsFolder?: string; stagingUsername?: string; externalElasticsearchPort?: string; sshKeyName?: string; sshKeyLocation?: string; } export interface DatabaseListItem { key: string; domainFolder: string; username: string; displayName: string; } export interface SettingsConfig { general: { localDomainExtension: string; elasticsearchPort: string; databaseLocation: string; }; ssh: { keyLocation: string; passphrase: string; }; magentoBackend: { adminUsername: string; adminPassword: string; adminEmailAddress: string; }; } export interface StaticSettings { settings: { databaseStripDevelopment: { default: string[]; custom: string[]; }; databaseStripKeepCustomerData: { default: string[]; custom: string[]; }; }; } export interface ProjectConfig { core_config_data?: Record>; databaseStripDevelopment?: string | { default: string[]; custom: string[]; }; databaseStripFull?: string; wordpress_domains?: Record; } export interface AppConfig { customConfig: { sshKeyLocation: string; sshPassphrase: string; localDatabaseFolderLocation: string; localDomainExtension: string; }; requirements: { magerun2Version: string; }; serverVariables: { magentoVersion: number; externalPhpPath: string; magentoRoot: string; magerunFile: string; databaseName: string; secondDatabaseMagerun2: string; secondDatabaseExternalPhpPath: string; wordpress?: boolean; }; settings: { currentFolder: string; currentFolderName: string; strip: string; stripMode?: string; stripOptions?: string[]; syncImages: string; magentoLocalhostDomainName: string; rsyncInstalled: boolean; elasticSearchUsed: boolean; searchEngine?: string; isDdevProject: boolean; isDdevActive: boolean; import: string; wordpressImport: string; wordpressDownload: string; wordpressUploadsSync?: string; currentFolderIsMagento: boolean; currentFolderhasWordpress: boolean; runCommands: boolean; magerun2Command: string; magerun2CommandLocal: string; wpCommandLocal: string; databaseCommand: string; syncImageTypes: string[] | null; syncTypes: string[] | null; }; finalMessages: { magentoDatabaseLocation: string; magentoDatabaseIncludeLocation: string; wordpressDatabaseLocation: string; importDomain: string; domains: string[]; syncDomain?: string; syncDomains?: string[]; wordpressBlogUrls?: Array<{ blogId: string; domain: string; }>; }; databases: { databasesList: DatabaseListItem[] | null; databaseType: string | null; databaseData: DatabaseConfig | null; }; wordpressConfig: { prefix: string; username: string; password: string; host: string; database: string; isMultisite?: boolean; multisiteType?: 'subdomain' | 'subdirectory'; configuredSites?: Array<{ blog_id: string; domain: string; path: string; newDomain: string; }>; }; } export interface SSHConnection { host: string; port: number; username: string; password?: string; privateKey?: string; passphrase?: string; } export interface CommandResult { stdout: string; stderr: string; exitCode: number; } export type DatabaseType = 'staging' | 'production'; export type StripType = 'development' | 'keep customer data' | 'full and human readable' | 'staging'; export type SyncType = 'media' | 'pub/media' | 'var/import'; //# sourceMappingURL=index.d.ts.map