import { NonNullablePaths } from '@wix/sdk-types'; interface Item { item?: Record | null; } interface InsertRequest { /** Item to insert. */ item?: Record | null; /** ID of the collection in which to insert the item. */ dataCollectionId?: string; } declare enum Segment { /** Access database used in the Live site. */ LIVE = "LIVE", /** Access staging (sandbox) database used in the editor. */ SANDBOX = "SANDBOX", /** Access deleted database used in the Live site. */ TRASH_LIVE = "TRASH_LIVE" } /** @enumType */ type SegmentWithLiterals = Segment | 'LIVE' | 'SANDBOX' | 'TRASH_LIVE'; interface Options { } interface InsertResponse { /** Inserted item. */ item?: Record | null; } interface UpdateRequest { /** Item to update. The existing item is replaced with this version. */ item: Record | null; /** ID of the collection containing the existing item. */ dataCollectionId?: string; } interface UpdateResponse { /** Updated item */ item?: Record | null; } interface SaveRequest { /** Item to insert or update. */ item?: Record | null; /** ID of the collection in which to insert or update the item. */ dataCollectionId?: string; } interface SaveResponse { /** Inserted or updated item. */ item?: Record | null; } interface PatchRequest { /** item id to patch */ itemId?: string; /** Patch data */ patch?: Record | null; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface PatchResponse { /** Patched item */ item?: Record | null; } interface PatchWhereRequest { /** Data segment */ segment?: SegmentWithLiterals; /** filter items to patch */ filter?: any; /** Patch data */ patch?: Record | null; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface PatchWhereResponse { /** Number of patched items */ totalCount?: number; totalAffectedValues?: number; } interface GetRequest { /** ID of the item to retrieve. */ itemId: string; /** ID of the collection from which to retrieve the item. */ dataCollectionId?: string; } interface ReadOptions { } interface GetResponse { /** Retrieved item. */ item?: Record | null; } interface RemoveRequest { /** ID of the item to remove. */ itemId: string; /** ID of the collection from which to remove the item. */ dataCollectionId?: string; } interface RemoveResponse { /** Removed item. */ item?: Record | null; } interface TruncateRequest { /** ID of the collection to truncate. */ dataCollectionId?: string; } interface TruncateResponse { } interface QueryRequest { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; /** * Properties for which to include referenced items in the query's results. * Up to 50 referenced items can be included for each item that matches the query. * If more than 50 items are referenced, `partialIncludes` in the response is `true`. */ includeReferencedItems?: string[]; /** ID of the collection to query. */ dataCollectionId?: string; } interface Query { /** * Filter object in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: any; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: Sorting[]; /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Array of projected fields. A list of specific field names to return. */ fields?: string[]; } interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** * Number of items to load. * @max 1000 */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * Filter object in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: Record | null; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: Sorting[]; /** Array of projected fields. A list of specific field names to return. */ fields?: string[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } interface CursorPaging { /** * Number of items to load. * @max 1000 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * You can get the relevant cursor token * from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. */ cursor?: string | null; } interface QueryResponse { /** Retrieved items. */ items?: Record[] | null; /** * *Deprecated.** Refer to 'pagingMetadata' instead. Total number of items satisfying the query. * @deprecated */ totalCount?: number; /** * *Deprecated.** Refer to 'pagingMetadata' instead. Total number of items satisfying the query. * @deprecated */ totalResults?: number; /** Whether referenced items are trimmed from the results. This occurs when there are more than 50 referenced items. */ partialIncludes?: boolean; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; } interface Cursors { /** Cursor pointing to next page in the list of results. */ next?: string | null; /** Cursor pointing to previous page in the list of results. */ prev?: string | null; } interface AggregationRequest { /** Paging preferences. */ paging?: Paging; /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ initialFilter?: Record | null; /** * Object defining the steps of the aggregation to be This is an object defining aggregation itself. * * * Grouping rule is defined as _id field. It takes a form of: * { * "_id": "$field" * } * * If multiple fields are used for grouping, Group takes a form of: * { * "_id": { * "field1": "$field1" * "field2": "$field2" * } * } * * * Aggregation functions are defined as special field definitions. * * Average: * { * "_id": "$field" * "my_avg": { * "$avg": "$other_field" * } * } * * Max: * { * "_id": "$field" * "my_max": { * "$max": "$other_field" * } * } * * Min: * { * "_id": "$field" * "my_min": { * "$min": "$other_field" * } * } * * Sum: * { * "_id": "$field" * "my_sum": { * "$sum": "$other_field" * } * } */ aggregation?: Record | null; /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ finalFilter?: Record | null; /** Sorting preferences. */ sort?: Sorting[]; /** ID of the collection on which to run the aggregation. */ dataCollectionId?: string; } interface AggregationResponse { /** Aggregation results. */ items?: Record[] | null; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface CountRequest { /** Filter preferences defining the query. For more information on how to structure a filter object, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section). */ filter?: Record | null; /** ID of the collection for which to count query results. */ dataCollectionId?: string; } interface CountResponse { /** Count of items matching the query. */ totalCount?: number; /** * *Deprecated.** Refer to `totalCount` instead. * @deprecated */ totalResults?: number; } interface DistinctRequest { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** Property name for which to return all distinct values. */ propertyName: string; /** ID of the collection to query. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } interface DistinctResponse { /** List of distinct values contained in the property specified in `propertyName`. */ items?: any[]; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface BulkInsertRequest { /** Items to insert. */ items: Record[] | null; /** ID of the collection in which to insert the items. */ dataCollectionId?: string; } interface BulkInsertResponse { /** IDs of items inserted. */ insertedItemIds?: string[]; /** Error details for items that couldn't be inserted. */ errors?: BulkError[]; } interface BulkError { /** ID of the item that couldn't be inserted. */ itemId?: string | null; /** Error message. */ message?: string; /** Error details. */ details?: Details; /** Index of the failed item in the `items` paramater of the request. */ originalIndex?: number; } interface ApplicationError { /** Error code. */ code?: string; /** Error description. */ description?: string; /** Error data. */ data?: Record | null; } interface Details { /** Application error. */ applicationError?: ApplicationError; } interface BulkSaveRequest { /** Items to insert or update. */ items: Record[] | null; /** ID of the collection in which to insert or update the items. */ dataCollectionId?: string; } interface BulkSaveResponse { /** IDs of items inserted. */ insertedItemIds?: string[]; /** IDs of items updated. */ updatedItemIds?: string[]; /** Errors for items that couldn't be inserted or updated. */ errors?: BulkError[]; } interface BulkUpdateRequest { /** Items to update. */ items: Record[] | null; /** ID of the collection in which to update items. */ dataCollectionId?: string; } interface BulkUpdateResponse { /** IDs of items updated. */ updatedItemIds?: string[]; /** Errors for items that couldn't be updated. */ errors?: BulkError[]; } interface BulkPatchRequest { /** List of items and their patches */ entries?: Entry[]; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface Entry { /** item id to patch */ itemId?: string; /** Patch data */ patch?: Record | null; } interface BulkPatchResponse { /** Patched item ids */ patchedItemIds?: string[]; /** Errors */ errors?: BulkError[]; } interface BulkRemoveRequest { /** IDs of items to remove. */ entries?: BulkRemoveRequestEntry[]; /** ID of the collection from which to remove the items. */ dataCollectionId?: string; } interface BulkRemoveRequestEntry { /** ID of item to remove. */ itemId?: string; } interface BulkRemoveResponse { /** IDs of items removed. */ removedItemIds?: string[]; /** Errors for items that couldn't be removed. */ errors?: BulkError[]; } interface QueryReferencedRequest { /** ID of the referring item. */ referringItemId: string; /** Property containing the references to the referenced items. */ propertyName: string; /** Paging preferences. */ paging?: Paging; /** ID of the collection containing the referring item. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } declare enum Order { ASC = "ASC", DESC = "DESC" } /** @enumType */ type OrderWithLiterals = Order | 'ASC' | 'DESC'; interface QueryReferencedResponse { /** * *Deprecated.** Refer to `entities` instead. List of referenced items. * @deprecated */ items?: Record[] | null; /** * *Deprecated**. Refer to 'pagingMetadata' instead. Total number of referenced items satisfying the query. * @deprecated */ totalCount?: number; /** * *Deprecated**. Refer to 'pagingMetadata' instead. Total number of referenced items satisfying the query. * @deprecated */ totalResults?: number; /** List of referenced items and/or IDs. For successfully resolved references, the referenced data item appears. For references that can't be resolved, the ID appears. */ entities?: ReferencedEntity[]; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface ReferencedEntity extends ReferencedEntityEntityOneOf { /** Data item referenced. */ item?: Record | null; /** Unresolved ID. Appears instead of the data item when the reference doesn't resolve. For example, when an ID isn't found or if an item is in draft state. */ referenceId?: string; } /** @oneof */ interface ReferencedEntityEntityOneOf { /** Data item referenced. */ item?: Record | null; /** Unresolved ID. Appears instead of the data item when the reference doesn't resolve. For example, when an ID isn't found or if an item is in draft state. */ referenceId?: string; } interface BulkInsertReferencesRequest { /** * References to insert. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface Reference { /** Property containing the references to the referenced items. */ propertyName?: string; /** ID of the referring item. */ referringItemId?: string; /** ID of the referenced item. */ referencedItemId?: string; } interface BulkInsertReferencesResponse { } interface BulkReplaceReferencesRequest { /** Property containing the references to the referenced items. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** List of new referenced item IDs to replace the existing ones. */ newReferencedItemIds?: string[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface BulkReplaceReferencesResponse { } interface BulkRemoveReferencesRequest { /** * References to be removed. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface BulkRemoveReferencesResponse { } interface IsReferencedRequest { /** Property that may contain a reference to the specified item. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** ID of the item that may be referenced. */ referencedItemId: string; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface IsReferencedResponse { /** Whether the specified property of the referring item contains a reference to the specified referenced item. */ isReferenced?: boolean; } interface RestoreFromTrashBinRequest { /** * Deprecated, use dataCollectionId instead. * Collection name * @deprecated Deprecated, use dataCollectionId instead. * Collection name * @replacedBy data_collection_id */ collectionName?: string; /** Item id */ itemId?: string; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface RestoreFromTrashBinResponse { item?: Record | null; } interface InsertOptions { /** Item to insert. */ item?: Record | null; /** ID of the collection in which to insert the item. */ dataCollectionId?: string; } interface UpdateOptions { /** Item to update. The existing item is replaced with this version. */ item: Record | null; /** ID of the collection containing the existing item. */ dataCollectionId?: string; } interface SaveOptions { /** Item to insert or update. */ item?: Record | null; /** ID of the collection in which to insert or update the item. */ dataCollectionId?: string; } interface GetOptions { /** ID of the collection from which to retrieve the item. */ dataCollectionId?: string; } interface RemoveOptions { /** ID of the collection from which to remove the item. */ dataCollectionId?: string; } interface TruncateOptions { /** ID of the collection to truncate. */ dataCollectionId?: string; } /** * Retrieves a list of items, on the basis of the filtering, sorting, and paging preferences you provide. * * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). * @public * @documentationMaturity preview * @permissionId WIX_DATA.FIND * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Query * @deprecated * @targetRemovalDate 2025-06-01 */ declare function query(options?: QueryOptions): Promise>; interface QueryOptions { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; /** * Properties for which to include referenced items in the query's results. * Up to 50 referenced items can be included for each item that matches the query. * If more than 50 items are referenced, `partialIncludes` in the response is `true`. */ includeReferencedItems?: string[]; /** ID of the collection to query. */ dataCollectionId?: string; } interface AggregateOptions { /** Paging preferences. */ paging?: Paging; /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ initialFilter?: Record | null; /** * Object defining the steps of the aggregation to be This is an object defining aggregation itself. * * * Grouping rule is defined as _id field. It takes a form of: * { * "_id": "$field" * } * * If multiple fields are used for grouping, Group takes a form of: * { * "_id": { * "field1": "$field1" * "field2": "$field2" * } * } * * * Aggregation functions are defined as special field definitions. * * Average: * { * "_id": "$field" * "my_avg": { * "$avg": "$other_field" * } * } * * Max: * { * "_id": "$field" * "my_max": { * "$max": "$other_field" * } * } * * Min: * { * "_id": "$field" * "my_min": { * "$min": "$other_field" * } * } * * Sum: * { * "_id": "$field" * "my_sum": { * "$sum": "$other_field" * } * } */ aggregation?: Record | null; /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ finalFilter?: Record | null; /** Sorting preferences. */ sort?: Sorting[]; /** ID of the collection on which to run the aggregation. */ dataCollectionId?: string; } interface CountOptions { /** Filter preferences defining the query. For more information on how to structure a filter object, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section). */ filter?: Record | null; /** ID of the collection for which to count query results. */ dataCollectionId?: string; } interface DistinctOptions { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** Property name for which to return all distinct values. */ propertyName: string; /** ID of the collection to query. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } interface BulkInsertOptions { /** Items to insert. */ items: Record[] | null; /** ID of the collection in which to insert the items. */ dataCollectionId?: string; } interface BulkSaveOptions { /** Items to insert or update. */ items: Record[] | null; /** ID of the collection in which to insert or update the items. */ dataCollectionId?: string; } interface BulkUpdateOptions { /** Items to update. */ items: Record[] | null; /** ID of the collection in which to update items. */ dataCollectionId?: string; } interface BulkRemoveOptions { /** IDs of items to remove. */ entries?: BulkRemoveRequestEntry[]; /** ID of the collection from which to remove the items. */ dataCollectionId?: string; } interface QueryReferencedOptions { /** ID of the referring item. */ referringItemId: string; /** Property containing the references to the referenced items. */ propertyName: string; /** Paging preferences. */ paging?: Paging; /** ID of the collection containing the referring item. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } interface BulkInsertReferencesOptions { /** * References to insert. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface BulkReplaceReferencesOptions { /** Property containing the references to the referenced items. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** List of new referenced item IDs to replace the existing ones. */ newReferencedItemIds?: string[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface BulkRemoveReferencesOptions { /** * References to be removed. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface IsReferencedOptions { /** Property that may contain a reference to the specified item. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** ID of the item that may be referenced. */ referencedItemId: string; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } export { type AggregateOptions, type AggregationRequest, type AggregationResponse, type ApplicationError, type BulkError, type BulkInsertOptions, type BulkInsertReferencesOptions, type BulkInsertReferencesRequest, type BulkInsertReferencesResponse, type BulkInsertRequest, type BulkInsertResponse, type BulkPatchRequest, type BulkPatchResponse, type BulkRemoveOptions, type BulkRemoveReferencesOptions, type BulkRemoveReferencesRequest, type BulkRemoveReferencesResponse, type BulkRemoveRequest, type BulkRemoveRequestEntry, type BulkRemoveResponse, type BulkReplaceReferencesOptions, type BulkReplaceReferencesRequest, type BulkReplaceReferencesResponse, type BulkSaveOptions, type BulkSaveRequest, type BulkSaveResponse, type BulkUpdateOptions, type BulkUpdateRequest, type BulkUpdateResponse, type CountOptions, type CountRequest, type CountResponse, type CursorPaging, type Cursors, type Details, type DistinctOptions, type DistinctRequest, type DistinctResponse, type Entry, type GetOptions, type GetRequest, type GetResponse, type InsertOptions, type InsertRequest, type InsertResponse, type IsReferencedOptions, type IsReferencedRequest, type IsReferencedResponse, type Item, type Options, Order, type OrderWithLiterals, type Paging, type PagingMetadataV2, type PatchRequest, type PatchResponse, type PatchWhereRequest, type PatchWhereResponse, type Query, type QueryOptions, type QueryReferencedOptions, type QueryReferencedRequest, type QueryReferencedResponse, type QueryRequest, type QueryResponse, type QueryV2, type QueryV2PagingMethodOneOf, type ReadOptions, type Reference, type ReferencedEntity, type ReferencedEntityEntityOneOf, type RemoveOptions, type RemoveRequest, type RemoveResponse, type RestoreFromTrashBinRequest, type RestoreFromTrashBinResponse, type SaveOptions, type SaveRequest, type SaveResponse, Segment, type SegmentWithLiterals, SortOrder, type SortOrderWithLiterals, type Sorting, type TruncateOptions, type TruncateRequest, type TruncateResponse, type UpdateOptions, type UpdateRequest, type UpdateResponse, query };