import { type ActionImpl, type AnnotatedAction, type AnyVariable, type Condition, type DerivedVariable, type LoopVariable, type PyComponentInstance, type ResolvedDerivedVariable, type ResolvedServerVariable, type ResolvedSwitchVariable, type ServerVariable, type SingleVariable, type StateVariable, type StreamVariable, type SwitchVariable } from './core';
/**
 * Check if a value is a variable instance and type guard the response
 *
 * @param variable the potential variable to check
 */
export declare function isVariable<T>(variable: AnyVariable<T> | T): variable is AnyVariable<T>;
/**
 * Check if a value is a single variable instance and type guard the response
 *
 * @param variable the potential variable to check
 */
export declare function isSingleVariable<T>(variable: AnyVariable<T> | T): variable is SingleVariable<T>;
/**
 * Check if a value is a derived variable instance and type guard the response
 *
 * @param variable the potential derived variable to check
 */
export declare function isDerivedVariable<T>(variable: AnyVariable<T> | T): variable is DerivedVariable;
/** Check if a value is a server variable instance and type guard the response */
export declare function isServerVariable(variable: any): variable is ServerVariable;
/**
 * Check if a value is a loop variable instance and type guard the response
 *
 * @param variable the potential variable to check
 */
export declare function isLoopVariable(variable: any): variable is LoopVariable;
/**
 * Check if a value is a switch variable instance and type guard the response
 *
 * @param variable the potential variable to check
 */
export declare function isSwitchVariable<T>(variable: AnyVariable<T> | T): variable is SwitchVariable;
/**
 * Check if a value is a state variable instance and type guard the response
 *
 * @param variable the potential variable to check
 */
export declare function isStateVariable<T>(variable: AnyVariable<T> | T): variable is StateVariable;
/**
 * Check if a value is a stream variable instance and type guard the response
 *
 * @param variable the potential variable to check
 */
export declare function isStreamVariable<T>(variable: AnyVariable<T> | T): variable is StreamVariable;
/**
 * Check if a value is a ResolvedDerivedVariable
 *
 * @param value value to check
 */
export declare function isResolvedDerivedVariable(value: any | ResolvedDerivedVariable): value is ResolvedDerivedVariable;
export declare function isResolvedServerVariable(value: any | ResolvedServerVariable): value is ResolvedServerVariable;
export declare function isResolvedSwitchVariable(value: any | ResolvedSwitchVariable): value is ResolvedSwitchVariable;
/**
 * Check if a value is an ActionImpl
 *
 * @param action value to check
 */
export declare function isActionImpl(action: any): action is ActionImpl;
export declare function isAnnotatedAction(action: any): action is AnnotatedAction;
export declare const isPyComponent: (value: unknown) => value is PyComponentInstance;
export declare function isCondition(value: any): value is Condition<any>;
//# sourceMappingURL=utils.d.ts.map