import * as Schema from 'effect/Schema'; import { QueryAST } from '@dxos/echo-protocol'; import { SchemaEx } from '@dxos/effect'; import * as internal from './internal'; import * as Obj from './Obj'; import * as Type from './Type'; /** * Stored field metadata (e.g., for UX). */ export declare const FieldSchema: Schema.Struct<{ id: typeof Schema.String; path: Schema.Schema; visible: Schema.optional; referencePath: Schema.optional>; }>; export type FieldType = Schema.Schema.Type; export declare const KeyValueProps: Schema.Record$; export declare const createFieldId: () => string; export declare const Projection: Schema.Struct<{ /** * Optional schema override used to customize the underlying schema. */ schema: Schema.optional>; /** * UX metadata associated with displayed fields (in table, form, etc.) */ fields: Schema.Array$; visible: Schema.optional; referencePath: Schema.optional>; }>>; /** * The id for the field used to pivot the view. * E.g., the field to use for kanban columns or the field to use for map coordinates. */ pivotFieldId: Schema.optional; }>; export type Projection = Schema.Schema.Type; /** * Views are generated or user-defined projections of a schema's properties. * They are used to configure the visual representation of the data. */ declare const ViewSchema: Type.Obj<{ readonly query: { readonly raw?: string | undefined; readonly ast: QueryAST.QueryFilterClause | QueryAST.QueryFromClause | QueryAST.QueryHierarchyTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryLimitClause | QueryAST.QueryOptionsClause | QueryAST.QueryOrderClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QuerySelectClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryUnionClause; }; readonly projection: { readonly schema?: internal.JsonSchemaType | undefined; readonly fields: readonly { readonly id: string; readonly path: SchemaEx.JsonPath; readonly visible?: boolean | undefined; readonly referencePath?: SchemaEx.JsonPath | undefined; }[]; readonly pivotFieldId?: string | undefined; }; }, Schema.Struct.Fields>; export interface View extends Type.InstanceType { } export declare const View: Type.Obj; export declare const make: (props: Partial>) => View; export {}; //# sourceMappingURL=View.d.ts.map