import { z } from "zod" import type { visoes_pilao, z_padroes } from "./listaDeVisoes" export const z_tipos_campos_reg_grafico = z.enum([ "tabela", "coluna", "texto", "lista_colunas", "lista_filtros", "ordem", "booleana", ]) export type tipo_estrutura_visao_grafico = { /** Nome da Visão */ visao: T /** Rotulo */ rotulo: string /** Retorna a tabela Referente ao Registro */ tabela: ( _: z.infer<(typeof visoes_pilao)[T]> & z.infer, ) => string /** Descrição */ descricao: ( _: z.infer<(typeof visoes_pilao)[T]> & z.infer, ) => string /** Lista os campos e suas configurações */ campos: { [c in keyof Required< z.infer<(typeof visoes_pilao)[T]> & z.infer >]: { rotulo: string tipo_campo: z.infer order: number } } }