import { Reactive } from "vasille";
import { DevArrayModel, DevExpression, DevIValue, DevMapModel, DevSetModel, ExecutionPosition, Inspector, KindOfDevIValue, StaticPosition } from "vasille/dev";
export declare function devExpr<T, Args extends unknown[]>(ctx: Reactive | undefined, func: (...args: Args) => T, values: KindOfDevIValue<Args>, depsCode: string[], declaration: StaticPosition, inspector: Inspector): DevExpression<T, Args>;
export declare function devRef<T>(v: T, declaration: StaticPosition, inspector?: Inspector): DevIValue<T>;
export declare function devSetModel(inspector: Inspector | undefined, usage: StaticPosition, ctx: Reactive | undefined, data?: unknown[]): DevSetModel<unknown>;
export declare function devMapModel(inspector: Inspector | undefined, usage: StaticPosition, ctx: Reactive | undefined, data?: [unknown, unknown][]): DevMapModel<unknown, unknown>;
export declare function devArrayModel(inspector: Inspector | undefined, usage: StaticPosition, ctx: Reactive | undefined, data?: unknown[] | number): DevArrayModel<unknown>;
export declare function devEnsure<T extends object>(obj: T | null | undefined, key: keyof T, declaration: StaticPosition, inspector: Inspector | undefined): T[keyof T] | undefined;
export declare function devMatch(name: string | number | symbol, data: unknown, declaration: StaticPosition, inspector: Inspector | undefined): any;
export declare function devSet(o: object, key: string | symbol | number, value: unknown, declaration: StaticPosition, inspector: Inspector | undefined, executionPosition: ExecutionPosition): unknown;
