import type { ODataQuery } from '@balena/odata-parser'; import { type ParsedODataRequest } from '../sbvr-api/uri-parser.js'; import { api, type Response } from '../sbvr-api/sbvr-utils.js'; import type { Tx } from '../database-layer/db.js'; export type ODataActionRequest = Omit & { odataQuery: Omit & { property: { resource: string; }; }; }; type ActionReq = Express.Request; export type ODataActionArgs = { request: ODataActionRequest; tx: Tx; api: (typeof api)[Vocab]; id: unknown; req: ActionReq; }; export type ODataAction = (args: ODataActionArgs) => Promise; export declare const isActionRequest: (request: ParsedODataRequest) => request is ODataActionRequest; export declare const runAction: (request: ODataActionRequest, req: ActionReq) => Promise; export declare const addAction: (vocabulary: Vocab, resourceName: string, actionName: string, action: ODataAction) => void; export declare const canRunAction: (request: ParsedODataRequest, req: ActionReq, actionName: string, tx: Tx) => Promise; export {};