import { IValue, Reactive, KindOfIValue, Expression } from "vasille";
import { reactiveObject, storeReactiveObject } from "./objects.js";
import { ContextMap, ContextSet } from "./models.js";
export declare const internal: {
    /** create an expression (without context), use it for OwningPointer */
    ex<T, Args extends unknown[]>(func: (...args: Args) => T, values: KindOfIValue<Args>): Expression<T, Args>;
    /** create a forward-only pointer (without context), use it for OwningPointer */
    fo<T>(v: IValue<T>): IValue<T>;
    /** create a reference (without context), use it for default composing props values */
    r<T>(v: T): IValue<T>;
    rv<T>(v: T | IValue<T>): T;
    /** create a reactive object proxy, use it for sending reactive objects to child components */
    rop<T extends {
        [k: string | symbol]: IValue<unknown>;
    }>(o: T): { [K in keyof T]: T[K] extends IValue<infer R> ? R : never; };
    /** translate `{...}` to `$.ro(this, {...})` */
    ro: typeof reactiveObject;
    /** translate `new Set(#)` to `$.sm(this, #)` */
    sm(node: Reactive, data?: unknown[], name?: string): ContextSet<unknown>;
    /** translate `new Map(#)` to `$.mm(this, #)` */
    mm(node: Reactive, data?: [unknown, unknown][], name?: string): ContextMap<unknown, unknown>;
    /** translate `[...]` to `$.am(this, [...])` */
    am(node: Reactive, data?: unknown[], name?: string): import("vasille").ArrayModel<unknown>;
    /** translate `{...} to $.sro({...})` */
    sro: typeof storeReactiveObject;
    /** translate `new Set(#)` to `$.ssm(#)` */
    ssm(data?: unknown[]): ContextSet<unknown>;
    /** translate `new Map(#)` to `$.smm(#)` */
    smm(data?: [unknown, unknown][]): ContextMap<unknown, unknown>;
    /** translate `[...]` to `$.sam([...])` */
    sam(data?: unknown[]): import("vasille").ArrayModel<unknown>;
};
