//#region src/setup/setup.d.ts
interface SetupPushConfig {
  projectPath: string;
  configPath: string;
  apiKey?: string;
  apiUrl?: string;
}
interface SetupConfig {
  dockerComposeFile: string;
  manageMigrateCommand: string;
  runMigrateCommand: string;
  authInitCommand: string;
  pushProject?: SetupPushConfig | SetupPushConfig[];
  devApiCommand?: string;
  devUiCommand?: string;
  apiHealthUrl?: string;
  uiHealthUrl?: string;
  isCloud?: boolean;
  skipDocker?: boolean;
  skipPush?: boolean;
  /** Runs after project push while the API server is still up */
  afterPush?: (apiUrl: string) => Promise<void>;
  /** If set, upgrades packages instead of just migrating on subsequent runs */
  upgradeCommand?: string;
}
declare function runSetup(config: SetupConfig): Promise<void>;
//#endregion
export { SetupConfig, SetupPushConfig, runSetup };