type UntilOptions = { prefix?: RegExp; inclusive?: boolean; }; export declare const until: (term: RegExp, opts?: UntilOptions) => RegExp; type TemplateUntilOptions = { interpTemplate?: boolean; interpParams?: boolean; next?: string; }; export declare const templateUntil: (term: RegExp, opts?: TemplateUntilOptions) => { interpvar: { match: RegExp; value: (text: string) => string; }; str: { match: RegExp; value: (text: string) => string; lineBreaks: boolean; }; interptmpl?: { match: string; push: string; } | undefined; term: { next: string; defaultType: string; match: RegExp; lineBreaks: boolean; } | { pop: number; defaultType: string; match: RegExp; lineBreaks: boolean; }; interpexpr: { match: string; push: string; }; }; export declare const templateStates: { template: { interpvar: { match: RegExp; value: (text: string) => string; }; str: { match: RegExp; value: (text: string) => string; lineBreaks: boolean; }; interptmpl?: { match: string; push: string; } | undefined; term: { next: string; defaultType: string; match: RegExp; lineBreaks: boolean; } | { pop: number; defaultType: string; match: RegExp; lineBreaks: boolean; }; interpexpr: { match: string; push: string; }; }; interpExpr: { ws: RegExp; identifier: RegExp; rbrace: { match: string; pop: number; }; }; interpTmpl: { interpvar: { match: RegExp; value: (text: string) => string; }; str: { match: RegExp; value: (text: string) => string; lineBreaks: boolean; }; interptmpl?: { match: string; push: string; } | undefined; term: { next: string; defaultType: string; match: RegExp; lineBreaks: boolean; } | { pop: number; defaultType: string; match: RegExp; lineBreaks: boolean; }; interpexpr: { match: string; push: string; }; rbrack: { match: string; pop: number; }; }; interpTmplParams: { interpvar: { match: RegExp; value: (text: string) => string; }; str: { match: RegExp; value: (text: string) => string; lineBreaks: boolean; }; interptmpl?: { match: string; push: string; } | undefined; term: { next: string; defaultType: string; match: RegExp; lineBreaks: boolean; } | { pop: number; defaultType: string; match: RegExp; lineBreaks: boolean; }; interpexpr: { match: string; push: string; }; rbrack: { match: string; pop: number; }; }; stringS: { interpvar: { match: RegExp; value: (text: string) => string; }; str: { match: RegExp; value: (text: string) => string; lineBreaks: boolean; }; interptmpl?: { match: string; push: string; } | undefined; term: { next: string; defaultType: string; match: RegExp; lineBreaks: boolean; } | { pop: number; defaultType: string; match: RegExp; lineBreaks: boolean; }; interpexpr: { match: string; push: string; }; squot: { match: string; pop: number; }; }; stringD: { interpvar: { match: RegExp; value: (text: string) => string; }; str: { match: RegExp; value: (text: string) => string; lineBreaks: boolean; }; interptmpl?: { match: string; push: string; } | undefined; term: { next: string; defaultType: string; match: RegExp; lineBreaks: boolean; } | { pop: number; defaultType: string; match: RegExp; lineBreaks: boolean; }; interpexpr: { match: string; push: string; }; dquot: { match: string; pop: number; }; }; }; export {};