1 | import { TemplateImpl } from './template-impl';
|
2 | import type { Emitter } from '../emitters/emitter';
|
3 | import type { Parser, Tokenizer } from '../parser';
|
4 | import type { Context } from '../context/context';
|
5 | import type { TopLevelToken, TagToken } from '../tokens';
|
6 | import type { Template } from './template';
|
7 | import type { Liquid } from '../liquid';
|
8 | export type TagRenderReturn = Generator<unknown, unknown, unknown> | Promise<unknown> | unknown;
|
9 | export declare abstract class Tag extends TemplateImpl<TagToken> implements Template {
|
10 | name: string;
|
11 | liquid: Liquid;
|
12 | protected tokenizer: Tokenizer;
|
13 | constructor(token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid);
|
14 | abstract render(ctx: Context, emitter: Emitter): TagRenderReturn;
|
15 | }
|
16 | export interface TagClass {
|
17 | new (token: TagToken, tokens: TopLevelToken[], liquid: Liquid, parser: Parser): Tag;
|
18 | }
|