import { StringValueToken } from '../../lexer/types'; import { TemplateTree } from '../../parser/types'; import type { Checkpoint, Matcher, NodeHandler, StrTplOptionsBase, StrTreeHandler, StrTreeOptionsBase } from '../types'; import { AbstractMatcher } from './abstract-matcher'; export declare type StrContentMatcherValue = string | RegExp | null; export declare type StrContentMatcherHandler = (ctx: Ctx, token: StringValueToken) => Ctx; export interface StrContentMatcherOptions { value: StrContentMatcherValue; handler: StrContentMatcherHandler | null; } export declare class StrContentMatcher extends AbstractMatcher { readonly content: StrContentMatcherValue; readonly handler: StrContentMatcherHandler; constructor({ value, handler }: StrContentMatcherOptions); match(checkpoint: Checkpoint): Checkpoint | null; } interface StrTplMatcherOptions extends StrTplOptionsBase { matcher: Matcher; } export declare class StrTplMatcher extends AbstractMatcher { readonly matcher: Matcher; readonly preHandler: NodeHandler; readonly postHandler: NodeHandler; constructor(config: StrTplMatcherOptions); match(checkpoint: Checkpoint): Checkpoint | null; } export declare type StrNodeChildMatcher = StrContentMatcher | StrTplMatcher; export interface StrMatcherOptions extends StrTreeOptionsBase { matchers: StrNodeChildMatcher[] | null; } export declare class StrNodeMatcher extends AbstractMatcher { matchers: StrNodeChildMatcher[] | null; readonly preHandler: StrTreeHandler; readonly postHandler: StrTreeHandler; constructor(opts: StrMatcherOptions); match(checkpoint: Checkpoint): Checkpoint | null; } export {}; //# sourceMappingURL=str-matcher.d.ts.map