import type { PayloadAction } from '@reduxjs/toolkit'; import type { CoreEngine } from '../../app/engine.js'; import { type AddContextActionCreatorPayload } from './context-actions.js'; import type { ContextPayload } from './context-state.js'; export type { AddContextActionCreatorPayload }; /** * The context action creators. * * @group Actions * @category Context */ export interface ContextActionCreators { /** * Adds a new context value. * * @param payload - The action creator payload. * @returns A dispatchable action. */ addContext(payload: AddContextActionCreatorPayload): PayloadAction; /** * Removes a context key-value pair. * * @param key - The key to remove from the context (for example, "age"). * @returns A dispatchable action. */ removeContext(key: string): PayloadAction; /** * Sets the query context. * * @param payload - The action creator payload. * @returns A dispatchable action. */ setContext(payload: ContextPayload): PayloadAction; } /** * Loads the `context` reducer and returns possible action creators. * * @param engine - The headless engine. * @returns An object holding the action creators. * * @group Actions * @category Context */ export declare function loadContextActions(engine: CoreEngine): ContextActionCreators;