import { Item, Items } from "@pkg/md/parser/item";
import { Iterator } from '@pkg/md/parser/pagelexer';
export type ItemHandler = (item: Item) => Promise<void> | void;
export type IterHandler = (item: Item, iter: Iterator) => Promise<void> | void;
export interface SourceHandlers {
    frontMatterHandler(): ItemHandler;
    summaryHandler(): IterHandler;
    bytesHandler(): ItemHandler;
    shortcodeHandler(): IterHandler;
}
export declare class SourceParseInfo {
    private source;
    private posMainContent;
    private itemsStep1;
    private handlers;
    constructor(source: Uint8Array, handlers: SourceHandlers);
    private validateHandlers;
    isEmpty(): boolean;
    parse(): Promise<void>;
    handle(): Promise<void>;
    getMainContentPosition(): number;
    getItems(): Items;
    getSource(): Uint8Array;
    private createError;
}
export declare function createSourceParseInfo(source: Uint8Array, handlers: SourceHandlers): SourceParseInfo;
