import type { KeysSchema, RowSchema } from 'config/schema/insurance';
import type { BaseOption, Status } from 'ui/elements/types';
import type { z } from 'zod';

export type Keys = z.infer<typeof KeysSchema>;

export type RowValues = z.infer<typeof RowSchema>;

export type Values = Exclude<keyof RowValues, 'key'>;

export type RowOptions = {
  [ValueName in Values]?: BaseOption<RowValues[ValueName]>[];
};

export type RowStatuses = Record<Values, Status>;
