import type { SegmentationTypes } from "@cargo-ai/types"; import { type Token } from "../core.js"; import { type ModelRef } from "../refs.js"; import type { Filter } from "./filter.js"; import type { ModelHandle } from "./model.js"; export type SegmentSpec = { name?: string; /** The data model this segment filters — a model handle or `modelRef` (fixed at create). */ model: ModelHandle | ModelRef; /** Which records the segment includes. */ filter: Filter; sort?: SegmentationTypes.Sort; limit?: number; /** Columns whose changes are tracked (for the segment's change feed). */ trackingColumnSlugs?: string[]; /** Columns the segment exposes (defaults to all). */ columnSlugs?: string[]; }; export type SegmentHandle = { readonly slug: string; readonly uuid: Token; readonly resource: "segment"; }; export declare function defineSegment(slug: string, spec: SegmentSpec): SegmentHandle; //# sourceMappingURL=segment.d.ts.map