import { Asciidoctor } from '@asciidoctor/core';
import AbstractNode = Asciidoctor.AbstractNode;
import Block = Asciidoctor.Block;
import Section = Asciidoctor.Section;
import Document = Asciidoctor.Document;
import AbstractBlock = Asciidoctor.AbstractBlock;
import Inline = Asciidoctor.Inline;
import ListItem = Asciidoctor.ListItem;
import List = Asciidoctor.List;
import DefList = Asciidoctor.DescriptionList;
import Table = Asciidoctor.Table;
export declare namespace adoc {
    type SubstitutionMode = Asciidoctor['Substitutors']['$$const'];
    export function isParagraph(node: AbstractNode): boolean;
    export function isSection(node: AbstractNode): node is Section;
    export function isFloatingTitle(node: AbstractNode): node is Section;
    export function isDocument(node: AbstractNode): node is Document;
    export function isAbstractBlock(node: AbstractNode): node is AbstractBlock;
    export function isInline(node: AbstractNode): node is Inline;
    export function isIndexTerm(node: AbstractNode): node is Inline;
    export function isList(node: AbstractNode): node is List;
    export function isDescriptionList(node: AbstractNode): node is DefList;
    export function isListItem(node: AbstractNode): node is ListItem;
    export function setSubstitutionMode(doc: Asciidoctor, mode: SubstitutionMode): SubstitutionMode;
    export function setSubstitutionsForAdoc(doc: Asciidoctor): void;
    export function setSubstitutionsForDefaultHtml(doc: Asciidoctor): void;
    export function setSubstitutionsForTranslatableHtml(doc: Asciidoctor): void;
    export function isBlockImage(node: AbstractNode): node is Block;
    export function isBlockResource(node: AbstractNode): node is Block;
    export function isAdmonition(node: AbstractNode): node is Block;
    export function isExample(node: AbstractNode): node is Block;
    export function isQuote(node: AbstractNode): node is Block;
    export function isTable(node: AbstractNode): node is Table;
    export function isSidebar(node: AbstractNode): node is Block;
    export function isVerse(node: AbstractNode): node is Block;
    export function isListing(node: AbstractNode): node is Block;
    export function hasLines(node: AbstractNode): node is Block;
    export function escapeDirectives(content: string): string;
    export function unescapeDirectives(content: string): string;
    export function createBlock(parent: AbstractBlock, context: string): Block;
    export function createInline(parent: AbstractBlock, context: string): Inline;
    export function createNode(parent: AbstractBlock, context: string): AbstractBlock | Inline;
    export function removeNode(node: Asciidoctor.Block): void;
    export {};
}
