import { Cursor, Node, Region, Context } from '../../core'; import { HtmlElementNode } from '../../nodes'; import { BlockRule } from './block'; import { Selector } from '../../util/selector'; export declare type CursorMatcher = (cursor: Cursor) => void; export declare class ListRule extends BlockRule { tagName: string; marker: string; constructor(ctx: Context, options: { tagName: string; marker: string; markerMatcher?: CursorMatcher; }); protected allowsMultipleSelectors(): boolean; protected skipMarker(cursor: Cursor): void; protected isAtMarker(cursor: Cursor): boolean; protected scanBlock(cursor: Cursor): Region | null; protected parseSubRegion(region: Region): HtmlElementNode; protected parseLiRegions(regions: Region[], hasBlocks: boolean): Node[]; protected parseTerseLi(cursor: Cursor, selector: Selector | null): Node; protected parseBlockLi(cursor: Cursor, selector: Selector | null): Node; } export declare class NumberedListRule extends ListRule { protected skipMarker(cursor: Cursor): void; }