import { RenderContext } from "./context"; /** * A symbol that specifies a function valued property that is called to * convert an object to its corresponding Liquid value. */ export declare const toLiquid: unique symbol; export interface Liquidable { [toLiquid](context: RenderContext): Promise; } /** * A type predicate for the `Liquidable` interface. * @param value - A value that may or may not implement the `Liquidable` interface. * @returns `true` if the argument value implements the `Liquidable` * interface, `false` otherwise. */ export declare function isLiquidable(value: unknown): value is Liquidable; /** * A symbol that specifies a function valued property that is called to * convert an object to its corresponding Liquid value. */ export declare const toLiquidSync: unique symbol; export interface LiquidableSync { [toLiquidSync](context: RenderContext): unknown; } /** * A type predicate for the `LiquidableSync` interface. * @param value - A value that may or may not implement the `LiquidableSync` * interface. * @returns `true` if the argument value implements the `LiquidableSync` * interface, `false` otherwise. */ export declare function isLiquidableSync(value: unknown): value is LiquidableSync; /** * A symbol that specifies a function valued property that is called to * convert an object to its corresponding Liquid primitive value. */ export declare const toLiquidPrimitive: unique symbol; export interface LiquidPrimitive { [toLiquidPrimitive](hint?: string): unknown; } /** * A type predicate for the `LiquidPrimitive` interface. * @param value - A value that may or may not implement the `LiquidPrimitive` interface. * @returns `true` if the argument value implements the `LiquidPrimitive` * interface, `false` otherwise. */ export declare function isLiquidPrimitive(value: unknown): value is LiquidPrimitive; /** * A symbol that specifies a function valued property that is called to * convert an object to its Liquid specific string representation. */ export declare const toLiquidString: unique symbol; export interface LiquidStringable { [toLiquidString](): string; } /** * A type predicate for the `LiquidStringable` interface. * @param value - A value that may or may not implement the `LiquidStringable` interface. * @returns `true` if the argument value implements the `LiquidStringable` * interface, `false` otherwise. */ export declare function isLiquidStringable(value: unknown): value is LiquidStringable; /** * A symbol that specifies a function valued property that is called to * convert an object to an HTML-safe string representation. */ export declare const toLiquidHtml: unique symbol; export interface LiquidHTMLable { [toLiquidHtml](): string; } /** * A type predicate for the `LiquidHTMLable` interface. * @param value - A value that may or may not implement the `LiquidHTMLable` interface. * @returns `true` if the argument value implements the `LiquidHTMLable` * interface, `false` otherwise. */ export declare function isLiquidHTMLable(value: unknown): value is LiquidHTMLable; /** * A symbol that specifies a function valued property that is called to * test a method name against a set of whitelisted methods that Liquid * can call. */ export declare const isLiquidCallable: unique symbol; export interface LiquidCallable { [isLiquidCallable](name: PropertyKey): boolean; } /** * A type predicate for the `LiquidCallable` interface. * @param value - A value that may or may not implement the `LiquidCallable` interface. * @returns `true` if the argument value implements the `LiquidCallable` interface, * `false` otherwise. */ export declare function hasLiquidCallable(value: unknown): value is LiquidCallable; /** * A symbol that specifies a function valued property that is called in * the event that a property is missing from an object. */ export declare const liquidDispatch: unique symbol; export interface LiquidDispatchable { [liquidDispatch](name: PropertyKey): Promise; } /** * A type predicate for the `LiquidDispatchable` interface. * @param value - A value that may or may not implement the `LiquidDispatchable` interface. * @returns `true` if the argument value implements the `LiquidDispatchable` interface, * `false` otherwise. */ export declare function isLiquidDispatchable(value: unknown): value is LiquidDispatchable; export declare const liquidDispatchSync: unique symbol; export interface LiquidDispatchableSync { [liquidDispatchSync](name: PropertyKey): unknown; } export declare function isLiquidDispatchableSync(value: unknown): value is LiquidDispatchableSync;