import { AddressTO } from '@openapi/fias';

enum AddressType {
  addressObject = 'ADDRESS_OBJECT',
  house = 'HOUSE',
  room = 'ROOM',
  stead = 'STEAD',
}

enum AddressSource {
  Custom = 'Custom',
  Fias = 'Fias',
}

interface Address {
  id?: string;
  name?: string;
  type?: string;
}

interface Stead {
  id?: string;
  number?: string;
  parent?: string;
  cadastral?: string;
}

interface House {
  id?: string;
  number?: string;
  block?: string;
  structure?: string;
  parent?: string;
  cadastral?: string;
}

interface Room {
  id?: string;
  flat?: string;
  room?: string;
  parent?: string;
  flatCadastral?: string;
  roomCadastral?: string;
  postal?: string;
}
interface BaseAddressFormsBasicModel extends AddressTO {
  source?: AddressSource.Custom | AddressSource.Fias | null;
}
export {
  AddressType,
  AddressSource,
  Address,
  Room,
  House,
  Stead,
  BaseAddressFormsBasicModel,
};
