export interface CurrencyCountryFlag {
  readonly iso2: string;
}

export type CurrencyIso2Value =
  | string
  | readonly (string | CurrencyCountryFlag)[]
  | null;

export interface CurrencyDto {
  id: string;
  code: string;
  iso2: CurrencyIso2Value;
  name: string;
  symbol: string;
  numericCode: number;
  decimalDigits: number;
  isActive: boolean;
  createdOn?: string;
  modifiedOn?: string | null;
}


export interface CurrencyLookupDto {
  readonly id: string;
  readonly code: string;
  readonly name: string;
  readonly symbol: string;
}

export interface CreateCurrencyRequest {
  code: string;
  name: string;
  symbol: string;
  numericCode: number;
  decimalDigits: number;
}

export interface UpdateCurrencyRequest extends CreateCurrencyRequest {
  isActive: boolean;
}

export type CurrencyModalMode = 'create' | 'edit';
