import type { Child, Properties } from 'hastscript'; import { Block, BlockToHastBuilderOpts, BlockToHastBuilderPropertiesKey, BlockToHastBuilderPropertiesMap, BlockToHastOpts, ToHastOpts } from './types.js'; import { RichTextToHast } from './richtext.js'; import { Client } from './client.js'; import { ColorProps } from './color.js'; export declare function isBlock(o: any): o is Block; export declare class BlockItem { private client; private opts; private blocks; private next_cursor; private blocksLen; private idx; constructor(client: Client, opts: ToHastOpts); init(): Promise; block(): Promise; } type BlockToHastBuilderBuildOpts = { block: Block; nest: Child[]; parent?: Block; index: number; richTextToHast: RichTextToHast; colorProps: ColorProps; }; export declare abstract class BlockToHastBuilder { protected blockType: T; protected defaultClassname: boolean; protected propertiesMap: BlockToHastBuilderPropertiesMap; constructor(blockType: T, opts: BlockToHastBuilderOpts); protected props(key: BlockToHastBuilderPropertiesKey): Properties; abstract outerTag(): { name: string | null; properties?: Properties; }; abstract build(opts: BlockToHastBuilderBuildOpts): Promise; abstract isBreak(prevType: PrevType): boolean; } export declare class BlockParagraphToHast extends BlockToHastBuilder<'paragraph'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockHeading1ToHast extends BlockToHastBuilder<'heading_1'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockHeading2ToHast extends BlockToHastBuilder<'heading_2'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockHeading3ToHast extends BlockToHastBuilder<'heading_3'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockCodeToHast extends BlockToHastBuilder<'code'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockCalloutToHast extends BlockToHastBuilder<'callout'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockDividerToHast extends BlockToHastBuilder<'divider'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockColumnListToHast extends BlockToHastBuilder<'column_list'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockColumnToHast extends BlockToHastBuilder<'column'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockBulletedListItemToHast extends BlockToHastBuilder<'bulleted_list_item'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(prevType: PrevType): boolean; } export declare class BlockNumberedListItemToHast extends BlockToHastBuilder<'numbered_list_item'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(prevType: PrevType): boolean; } export declare class BlockQuoteToHast extends BlockToHastBuilder<'quote'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockTodoToHast extends BlockToHastBuilder<'to_do'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockToggleToHast extends BlockToHastBuilder<'toggle'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockTableToHast extends BlockToHastBuilder<'table'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockTableRowToHast extends BlockToHastBuilder<'table_row'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, parent, index, richTextToHast }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockBookmarkToHast extends BlockToHastBuilder<'bookmark'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } export declare class BlockImageToHast extends BlockToHastBuilder<'image'> { constructor(opts?: BlockToHastBuilderOpts); outerTag(): { name: string | null; properties?: Properties; }; build({ block, nest, richTextToHast }: BlockToHastBuilderBuildOpts): Promise; isBreak(_prevType: PrevType): boolean; } type PrevType = Block['type'] | undefined | ''; export declare class SurroundElement { private prevType; private children; private defaultBlockToHastBuilders; private blockToHastBuilders; constructor(initType: PrevType, opts?: BlockToHastOpts); protected builder(blockType: PrevType): BlockToHastBuilder | undefined; append({ block, nest, parent, index, richTextToHast, colorProps }: BlockToHastBuilderBuildOpts): Promise; nest(contet: Child): void; outerTag(): ReturnType['outerTag']> | null; content(): Child[]; isBreak(cur: PrevType): boolean; reset(): void; } export {};