import type { Params } from 'react-router';
import { type RecoilState, type Snapshot } from 'recoil';
import { type WebSocketClientInterface } from '../../api';
import { type RequestExtras } from '../../api/http';
import { type DerivedVariable, type GlobalTaskContext, type SingleVariable } from '../../types';
/**
 * Get a plain variable from the atom or selector registry (based on nested property),
 * registering it if not already registered
 *
 * @param variable variable to register
 * @param wsClient websocket client
 * @param taskContext task context
 * @param search search query
 * @param extras request extras to be merged into the options
 */
export declare function getOrRegisterPlainVariable<T>(variable: SingleVariable<T>, wsClient: WebSocketClientInterface, taskContext: GlobalTaskContext, extras: RequestExtras): RecoilState<T>;
export declare function resolvePlainVariableStatic<T>(variable: SingleVariable<T>, snapshot: Snapshot, params: Params<string>): DerivedVariable | T;
//# sourceMappingURL=plain-variable.d.ts.map