import React from 'react';
import { type RecoilState, type Snapshot } from 'recoil';
import { type RequestExtras } from '../../api/http';
import { type ResolvedServerVariable, type ServerVariable } from '../../types';
/**
 * Get or register a server variable from the atom registry
 *
 * @param variable variable to register
 * @param extras request extras to be merged into the options
 */
export declare function getOrRegisterServerVariable(variable: ServerVariable, extras: RequestExtras): RecoilState<number>;
/** Resolve a server variable to its resolved form  */
export declare function resolveServerVariable(variable: ServerVariable, extras: RequestExtras, resolver: (state: RecoilState<any>) => Promise<any>): Promise<ResolvedServerVariable>;
export declare function resolveServerVariableStatic(variable: ServerVariable, snapshot: Snapshot): ResolvedServerVariable;
/**
 * RecoilSync implementation for ServerVariable
 *
 * - read: GET from /api/core/store/:store_uid
 * - listen: subscribed to `serverVariableMessages$` on WsClient
 */
export declare function ServerVariableSyncProvider({ children }: {
    children: React.ReactNode;
}): JSX.Element;
//# sourceMappingURL=server-variable.d.ts.map