import type { SegmentationTypes } from "@cargo-ai/types"; import type { JsonSchema } from "@cargo-ai/utils"; import { z } from "zod"; import type { ApiType, DateToString } from "../types.js"; export declare namespace Segmentation { type FilterConditionKind = ApiType; type FilterConditionString = ApiType; type FilterConditionNumber = ApiType; type FilterConditionObjectProperty = ApiType; type FilterConditionObject = ApiType; type FilterConditionArray = ApiType; type FilterConditionAny = ApiType; type FilterConditionDate = ApiType; type FilterConditionBoolean = ApiType; type FilterCondition = ApiType; type FilterConjonction = ApiType; type FilterGroup = ApiType; type Filter = ApiType; type Sort = ApiType; type Segment = ApiType; type SegmentMetric = ApiType; type Change = ApiType; type ChangeKind = ApiType; type Column = ApiType; const filterJsonSchema: JsonSchema; const sortJsonSchema: JsonSchema; namespace Api { type CreateSegmentPayload = DateToString<{ name: string; modelUuid: string; filter: Filter; sort?: Sort; limit?: number; trackingColumnSlugs?: string[]; columnSlugs?: string[]; }>; type CreateSegmentResult = { segment: Segment; }; const zodCreateSegmentErrorReason: z.ZodEnum<{ invalidFilter: "invalidFilter"; }>; const zodArchiveSegmentErrorReason: z.ZodEnum<{ segmentNotFound: "segmentNotFound"; segmentLinkedToWorkflow: "segmentLinkedToWorkflow"; }>; type DownloadSegmentPayload = DateToString<{ filter: Filter; sort?: Sort; limit?: number; modelUuid: string; }>; type DownloadSegmentResult = { urls: string[]; }; const zodDownloadSegmentErrorReason: z.ZodEnum<{ invalidFilter: "invalidFilter"; failedToDownloadRecordsFromClient: "failedToDownloadRecordsFromClient"; }>; type FetchSegmentPayload = DateToString<{ modelUuid: string; filter: Filter; sort?: Sort; limit?: number; fetchingLimit?: number; fetchingOffset?: number; enrich?: boolean; sync?: boolean; }>; type FetchSegmentResult = { records: Record[]; count: number; columns: Column[]; isRefreshing: boolean; }; const zodFetchSegmentErrorReason: z.ZodEnum<{ invalidFilter: "invalidFilter"; }>; type GetSegmentResult = { segment: Segment; }; type GetMetricsResult = { segmentMetrics: SegmentMetric[]; }; type AllSegmentsResult = { segments: Segment[]; }; type UpdateSegmentPayload = DateToString<{ uuid: string; name?: string; filter?: Filter; sort?: Sort | null; limit?: number | null; trackingColumnSlugs?: string[] | null; columnSlugs?: string[] | null; }>; type UpdateSegmentResult = { segment: Segment; }; const zodUpdateSegmentErrorReason: z.ZodEnum<{ invalidFilter: "invalidFilter"; segmentNotFound: "segmentNotFound"; segmentLinkedToWorkflow: "segmentLinkedToWorkflow"; }>; const zodRemoveSegmentErrorReason: z.ZodEnum<{ segmentNotFound: "segmentNotFound"; segmentLinkedToWorkflow: "segmentLinkedToWorkflow"; segmentAlreadyRemoved: "segmentAlreadyRemoved"; }>; const zodUnarchiveSegmentErrorReason: z.ZodEnum<{ segmentNotFound: "segmentNotFound"; }>; type CreateChangePayload = DateToString<{ segmentUuid: string; }>; type CreateChangeResult = { change: Change; }; const zodCreateChangeErrorReason: z.ZodEnum<{ segmentNotFound: "segmentNotFound"; changeAlreadyRunning: "changeAlreadyRunning"; }>; type DownloadChangePayload = DateToString<{ uuid: string; kinds: ChangeKind[]; }>; type DownloadChangeResult = { urls: string[]; }; const zodDownloadChangeErrorReason: z.ZodEnum<{ segmentNotFound: "segmentNotFound"; failedToDownloadRecordsFromClient: "failedToDownloadRecordsFromClient"; changeNotFound: "changeNotFound"; }>; type FetchChangePayload = DateToString<{ uuid: string; kinds: ChangeKind[]; limit?: number; offset?: number; }>; type FetchChangeResult = { records: Record[]; count: number; columns: Column[]; }; const zodFetchChangeErrorReason: z.ZodEnum<{ segmentNotFound: "segmentNotFound"; changeNotFound: "changeNotFound"; }>; type ListChangesPayload = DateToString<{ segmentUuid?: string; notEmpty?: boolean; hasRecords?: ChangeKind; limit?: number; offset?: number; }>; type ListChangesResult = { changes: Change[]; }; type GetChangeResult = { change: Change; }; type FetchRecordPayload = DateToString<{ modelUuid: string; ids: string[]; resetCache?: boolean; }>; type FetchRecordResult = { records: Record[]; }; const zodFetchRecordErrorReason: z.ZodEnum<{ invalidFilter: "invalidFilter"; }>; } const segmentKeys: { all: (workspaceUuid: string) => readonly ["segments", string]; get: (workspaceUuid: string, uuid: string) => readonly ["segments", string, string]; fetch: (workspaceUuid: string, payload: Api.FetchSegmentPayload) => readonly ["segments", string, "fetch", { modelUuid: string; filter: { conjonction: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConjonction; groups: { conjonction: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConjonction; conditions: ({ kind: "string"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "endsWith" | "startsWith" | "is" | "isNot" | "contains" | "doesNotContain"; values: string | string[]; } | { kind: "string"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull" | "isEmpty" | "isNotEmpty"; } | { kind: "number"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "is" | "isNot" | "greaterThan" | "lowerThan"; value: number; } | { kind: "number"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "between"; firstValue: number; lastValue: number; } | { kind: "number"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "endsWith" | "startsWith" | "is" | "isNot" | "contains" | "doesNotContain" | "greaterThan" | "lowerThan"; value: string; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "isNull" | "isNotNull" | "isEmpty" | "isNotEmpty"; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "between"; value: string; otherValue: string; } | { kind: "object"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull"; } | { kind: "object"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNotNull"; } | { kind: "object"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "matchConditions"; conjonction: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConjonction; propertyConditions: ({ kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "endsWith" | "startsWith" | "is" | "isNot" | "contains" | "doesNotContain" | "greaterThan" | "lowerThan"; value: string; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "isNull" | "isNotNull" | "isEmpty" | "isNotEmpty"; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "between"; value: string; otherValue: string; })[]; } | { kind: "array"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull"; } | { kind: "array"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNotNull"; } | { kind: "array"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "matchConditions"; conjonction: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConjonction; propertyConditions: ({ kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "endsWith" | "startsWith" | "is" | "isNot" | "contains" | "doesNotContain" | "greaterThan" | "lowerThan"; value: string; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "isNull" | "isNotNull" | "isEmpty" | "isNotEmpty"; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "between"; value: string; otherValue: string; })[]; } | { kind: "any"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; } | { kind: "date"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "is" | "isNot" | "greaterThan" | "lowerThan"; value: string; } | { kind: "date"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "between"; firstValue: string; lastValue: string; } | { kind: "date"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; } | { relatedModelUuid?: string | undefined; kind: "boolean"; columnSlug: string; operator: "isNull" | "isNotNull" | "isTrue" | "isFalse"; } | { kind: "sql"; name: string; clause: string; } | { kind: "vector"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; } | { kind: "occurrence"; relatedModelUuid: string; frequency: { operator: "not"; } | { operator: "moreThan" | "lessThan" | "exactly"; value: number; }; period: { operator: "moreThan" | "lessThan" | "exactly"; value: number; unit: "day"; }; conjonction: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConjonction; conditions: ({ kind: "string"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "endsWith" | "startsWith" | "is" | "isNot" | "contains" | "doesNotContain"; values: string | string[]; } | { kind: "string"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull" | "isEmpty" | "isNotEmpty"; } | { kind: "number"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "is" | "isNot" | "greaterThan" | "lowerThan"; value: number; } | { kind: "number"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "between"; firstValue: number; lastValue: number; } | { kind: "number"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; } | { kind: "object"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull"; } | { kind: "object"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNotNull"; } | { kind: "object"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "matchConditions"; conjonction: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConjonction; propertyConditions: ({ kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "endsWith" | "startsWith" | "is" | "isNot" | "contains" | "doesNotContain" | "greaterThan" | "lowerThan"; value: string; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "isNull" | "isNotNull" | "isEmpty" | "isNotEmpty"; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "between"; value: string; otherValue: string; })[]; } | { kind: "array"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull"; } | { kind: "array"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNotNull"; } | { kind: "array"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "matchConditions"; conjonction: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConjonction; propertyConditions: ({ kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "endsWith" | "startsWith" | "is" | "isNot" | "contains" | "doesNotContain" | "greaterThan" | "lowerThan"; value: string; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "isNull" | "isNotNull" | "isEmpty" | "isNotEmpty"; } | { kind: "objectProperty"; relatedModelUuid?: string | undefined; columnSlug: string; propertyName: string; operator: "between"; value: string; otherValue: string; })[]; } | { kind: "any"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; } | { kind: "date"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "is" | "isNot" | "greaterThan" | "lowerThan"; value: string; } | { kind: "date"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "between"; firstValue: string; lastValue: string; } | { kind: "date"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; } | { relatedModelUuid?: string | undefined; kind: "boolean"; columnSlug: string; operator: "isNull" | "isNotNull" | "isTrue" | "isFalse"; } | { kind: "vector"; relatedModelUuid?: string | undefined; columnSlug: string; operator: "isNull" | "isNotNull"; })[]; } | { kind: "enrollment"; workflowUuid: string; activityKind: import("@cargo-ai/types").SystemOfRecordIntegrationTypes.FilterConditionEnrollmentActivityKind; nodeSlug?: string | undefined; frequency: { operator: "not"; } | { operator: "moreThan" | "lessThan" | "exactly"; value: number; }; period: { operator: "moreThan" | "lessThan" | "exactly"; value: number; unit: "day"; }; } | { kind: "segment"; segmentUuid: string; operator: "in" | "notIn"; })[]; }[]; }; sort?: { columnSlug: string; kind: "asc" | "desc"; }[] | undefined; limit?: number | undefined; fetchingLimit?: number | undefined; fetchingOffset?: number | undefined; enrich?: boolean | undefined; sync?: boolean | undefined; }]; }; const changeKeys: { all: (workspaceUuid: string) => readonly ["changes", string]; list: (workspaceUuid: string, payload: Api.ListChangesPayload) => readonly ["changes", string, "list", { segmentUuid?: string | undefined; notEmpty?: boolean | undefined; hasRecords?: ChangeKind | undefined; limit?: number | undefined; offset?: number | undefined; }]; get: (workspaceUuid: string, uuid: string) => readonly ["changes", string, string]; fetch: (workspaceUuid: string, payload: Api.FetchChangePayload) => readonly ["changes", string, "fetch", { uuid: string; kinds: ChangeKind[]; limit?: number | undefined; offset?: number | undefined; }]; }; const recordKeys: { all: (workspaceUuid: string) => readonly ["records", string]; fetch: (workspaceUuid: string, payload: Api.FetchRecordPayload) => readonly ["records", string, "fetch", { modelUuid: string; ids: string[]; resetCache?: boolean | undefined; }]; }; } //# sourceMappingURL=segmentation.d.ts.map