export type CursorSelection = {
  pos: number;
  content: string;
  params: string[];
  ignore?: boolean;
};

export type CursorTransformerMeta = {
  index?: number;
  total?: number;
  isLast?: boolean;
};
export type CursorTransformer<Type, Key extends keyof Type> = (
  data: Required<Type>[Key],
  selection: CursorSelection,
  meta: CursorTransformerMeta
) => string;
