/// <reference types="react" />
import { JinjaContextVariableConfig } from '../context/JinjaContextValue.js';
import { JinjaVariable } from '../context/JinjaVariable.js';
export interface UserVariableConfig {
    name: string;
    description?: string;
    value: any;
}
export type VarSource = 'plugin' | 'stack' | 'account' | 'auth' | 'workspace';
export interface VarMetadata {
    source: VarSource;
    description?: string;
}
interface Props {
    auth?: UserVariableConfig[];
    account?: UserVariableConfig[];
    workspace?: UserVariableConfig[];
    stack?: UserVariableConfig[];
    children: React.ReactNode;
}
export declare const globalVariablesContextName = "dynamic-form-global-variables";
export declare function varListToVarObject(vars: UserVariableConfig[] | undefined, source: VarSource): Record<string, JinjaContextVariableConfig<VarMetadata>> | undefined;
export declare const VariablesContext: ({ auth, account, workspace, stack, children }: Props) => import("react/jsx-runtime").JSX.Element;
export declare const PluginVariablesContext: ({ variables, children }: {
    variables: UserVariableConfig[];
    children: React.ReactNode;
}) => import("react/jsx-runtime").JSX.Element;
export declare const GlobalContext: ({ children }: {
    children: React.ReactNode;
}) => import("react/jsx-runtime").JSX.Element;
export declare function useContextVariables(): Record<string, JinjaVariable<VarMetadata>>;
export {};
//# sourceMappingURL=VariablesContext.d.ts.map