import type { TagClass } from "liquidjs/dist/template/tag.js";
import type { RenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
export type LiquidTagReturnsVarHandler = NewLiquidTagReturnsVarHandler | LegacyLiquidTagReturnsVarHandler;
export type NewLiquidTagReturnsVarHandler = (renderingContext: RenderingContext, input: {
    mainParameter: unknown;
    namedParameters: {
        [key: string]: unknown;
    };
    variableName: string;
}) => Generator | Promise<Generator> | unknown;
export type LegacyLiquidTagReturnsVarHandler = (renderingContext: RenderingContext, input: {
    namedParameters: {
        [key: string]: unknown;
    };
    variableName: string;
}) => Generator | Promise<Generator> | unknown;
export declare function createDeprecatedAssignLiquidTag(tagHandler: LegacyLiquidTagReturnsVarHandler, options: {
    legacySyntax: true;
}): TagClass;
export declare function createDeprecatedAssignLiquidTag(tagHandler: NewLiquidTagReturnsVarHandler): TagClass;
export declare function wrapLiquidTagPromise<T = unknown>(renderingContext: RenderingContext, promise: Promise<T>, tagName: string): Promise<T>;
export declare function isGeneratorObject(value: unknown): value is Generator;
export declare function consumeGenerator(gen: Generator): unknown;
