/** * CMS content CRUD endpoints (`eaera_cms/core/content/routes.py`). * * NOTE: the **singular** `/api/v1/content` namespace is the CRUD path. * The plural `/api/v1/contents` (`query/routes.py`) is a read-only query * path (list/search/count) and does NOT support `{uuid}` mutations. */ export declare const CONTENT_ENDPOINT: { readonly BASE: "/api/v1/content"; readonly detail: (uuid: string) => string; /** List available CT actions for a content item (GET). */ readonly actions: (uuid: string) => string; /** Invoke a CT action on a content item (POST). */ readonly action: (uuid: string, actionName: string) => string; }; /** * Content list defaults. `/api/v1/content` is cursor-only (PO ruling * 2026-10-11): `limit` (1..100) + opaque `cursor`; `page`/`per_page` are * rejected with 400. `PAGE`/`PER_PAGE` are legacy page-based defaults kept * for the mock dataset only. */ export declare const CONTENT_DEFAULTS: { readonly LIMIT: 100; /** @deprecated page-based — mock dataset only. */ readonly PAGE: 1; /** @deprecated page-based — mock dataset only. */ readonly PER_PAGE: 100; }; /** * Content Type names registered by the mt5 pack (`eaera_mt5/pack.yaml`). * * The SDK holds a typed slice per CT in `useContentStore` and a generic * `fetchByType(typeName, ...)` action that accepts any of these names. * * Full schema for each CT lives in `eaera-docs/cbs/eaera-mt5/data/data-design.md` §2 * and the per-CT action inventory lives in * `eaera-docs/cbs/cms-sdk/services/content.md#content-types-registered-by-the-mt5-pack`. */ export declare const CONTENT_TYPE: { readonly MT5_SERVER: "Mt5Server"; readonly MT5_ACCOUNT: "Mt5Account"; readonly MT5_GROUP: "Mt5Group"; readonly MT5_SYNC_STATE: "Mt5SyncState"; readonly REPORT_DEFINITION: "ReportDefinition"; readonly LLM_CONVERSATION: "LlmConversation"; readonly KALSHI_SERVER: "KalshiServer"; readonly KALSHI_EVENT: "KalshiEvent"; readonly KALSHI_FUTURE: "KalshiFuture"; readonly MT5_SYMBOL: "Mt5Symbol"; readonly MT5_CATEGORY: "Mt5Category"; readonly MT5_WATCHLIST: "Mt5Watchlist"; readonly MT5_CHART_BAR: "Mt5ChartBar"; readonly MT5_POSITION_HISTORY: "Mt5PositionHistory"; readonly MT5_ORDER_HISTORY: "Mt5OrderHistory"; readonly MT5_DEAL_HISTORY: "Mt5DealHistory"; readonly MT5_DRAWING: "Mt5Drawing"; }; /** * Union of every CT name as a TypeScript string-literal type. * Use this when typing variables instead of importing the constants object. */ export type ContentTypeName = (typeof CONTENT_TYPE)[keyof typeof CONTENT_TYPE]; /** Convenience: every CT name as a readonly array (iteration, validation). */ export declare const CONTENT_TYPE_NAMES: readonly ContentTypeName[]; /** * Filter DSL operators accepted by the eaera-cms content filter param * (`?filter=field:op:value AND …`). Mirrors the backend `OPERATORS` dict in * `eaera_cms/.../parser` — see `eaera-docs/cbs/cms-sdk/services/query.md#filter-dsl`. * * The scalar subset (see {@link CONTENT_FILTER_SCALAR_OPERATOR}) is what the * `buildFilter()` helper serializes; the list / no-value / jsonb operators are * exported here for callers that hand-roll their DSL string. */ export declare const CONTENT_FILTER_OPERATOR: { readonly EQ: "eq"; readonly NEQ: "neq"; readonly GT: "gt"; readonly GTE: "gte"; readonly LT: "lt"; readonly LTE: "lte"; readonly IN: "in"; readonly NOT_IN: "not_in"; readonly IS_NULL: "is_null"; readonly IS_NOT_NULL: "is_not_null"; readonly CONTAINS: "contains"; readonly STARTS_WITH: "starts_with"; readonly ENDS_WITH: "ends_with"; readonly REGEX: "regex"; readonly LIKE: "like"; readonly ILIKE: "ilike"; readonly BETWEEN: "between"; readonly JSON_CONTAINS: "json_contains"; readonly JSON_HAS_KEY: "json_has_key"; readonly JSON_TYPE: "json_type"; }; export type ContentFilterOperator = (typeof CONTENT_FILTER_OPERATOR)[keyof typeof CONTENT_FILTER_OPERATOR]; /** * Operators supported by {@link buildFilter}: the scalar comparison + * text-pattern operators that take a single value, plus the list operator * `in` (comma-separated values — pass an array as the condition value). * Excludes the remaining list operators (`not_in`/`between`), the no-value * operators (`is_null`/`is_not_null`), and the jsonb operators (`json_*`) — * callers needing those build the DSL string manually with * {@link CONTENT_FILTER_OPERATOR}. */ export declare const CONTENT_FILTER_SCALAR_OPERATOR: { readonly EQ: "eq"; readonly NEQ: "neq"; readonly GT: "gt"; readonly GTE: "gte"; readonly LT: "lt"; readonly LTE: "lte"; readonly IN: "in"; readonly CONTAINS: "contains"; readonly STARTS_WITH: "starts_with"; readonly ENDS_WITH: "ends_with"; readonly REGEX: "regex"; readonly LIKE: "like"; readonly ILIKE: "ilike"; }; export type ContentFilterScalarOperator = (typeof CONTENT_FILTER_SCALAR_OPERATOR)[keyof typeof CONTENT_FILTER_SCALAR_OPERATOR]; //# sourceMappingURL=content.constant.d.ts.map