export type ExactFilterValue = { type: "exact" value: string | number | boolean | Record | undefined } & Record export type RelativeFilterValue = { type: "relative" value: string | Record } & Record export type FilterValue = | ExactFilterValue | RelativeFilterValue | Array export type Filter = { operator: string value: FilterValue } export type PropertyFilter = { property: string filter: Filter } export type CombinatorFilter = { operator: "or" | "and" filters?: Array } export type QuerySql = (args: { dataSourceUrls: Array query: string params?: Array }) => Promise export type QueryView = (args: { viewUrl: string }) => Promise export type QueryMeetings = (args: { filter?: CombinatorFilter | PropertyFilter }) => Promise export type QueryResultRowValue = | string | number | boolean | Array | null export type QueryResultRow = Record export type QueryResult = { rows: Array hasMore: boolean }