export type AppPlatform = 'android' | 'ios';

export interface AppVersion {
  id: string;
  platform: AppPlatform;
  versionName: string;
  buildNumber: string;
  changelog?: string;
  downloadUrl?: string;
  fileSize?: number;
  isForceUpdate: boolean;
  isEnabled: boolean;
  minOsVersion?: string;
  releaseDate?: string;
  createdAt: string;
  updatedAt: string;
}

export interface UpdateAppVersionInput {
  changelog?: string;
  isForceUpdate?: boolean;
  isEnabled?: boolean;
  minOsVersion?: string | null;
}

export interface UploadAppVersionInput {
  file: File;
  platform: AppPlatform;
  versionName: string;
  buildNumber: string;
  changelog?: string;
  isForceUpdate?: boolean;
  minOsVersion?: string;
}

export interface AppVersionFilter {
  platform?: AppPlatform;
  includeDisabled?: boolean;
}

export interface ParsedPackageInfo {
  versionName?: string | null;
  versionCode?: string | null;
  minSdkVersion?: string | null;
}
