import { Type } from '@angular/core';
import { Block, Inline } from '@contentful/rich-text-types';
import { MarkRenderer, Text } from '../classes/mark-renderer.class';
import { NodeRenderer } from '../classes/node-renderer.class';
import * as i0 from "@angular/core";
export declare type NodeRendererFunction = (node: Block | Inline) => Type<NodeRenderer>;
export declare type NodeRendererResolver = Type<NodeRenderer> | NodeRendererFunction;
export declare type MarkRendererFunction = (node: Text) => Type<MarkRenderer>;
export declare type MarkRendererResolver = Type<MarkRenderer> | MarkRendererFunction;
export declare class RendererProviderService {
    private nodeRenderers;
    private markRenderers;
    getMarkRenderer(node: Text): Promise<Type<MarkRenderer>>;
    getNodeRenderer(node: Block | Inline): Promise<Type<NodeRenderer>>;
    setNodeRenderers(customRenderers: Record<string, NodeRendererResolver>): void;
    setMarkRenderers(customRenderers: Record<string, MarkRendererResolver>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RendererProviderService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<RendererProviderService>;
}
