import { AfterViewInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { PortableTextBlock, PortableTextListItemBlock, TypedObject } from '@portabletext/types';
import { PortableTextListBlock, RenderNodeContext } from '../types';
import * as i0 from "@angular/core";
export declare class DynamicPortableTextContent<Node extends TypedObject = TypedObject> implements AfterViewInit {
    childrenData: import("@angular/core").InputSignal<{
        template: TemplateRef<RenderNodeContext<Node>>;
        context: RenderNodeContext<Node>;
    }>;
    children: import("@angular/core").Signal<ViewContainerRef | undefined>;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPortableTextContent<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicPortableTextContent<any>, "[portableTextContent]", never, { "childrenData": { "alias": "childrenData"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
export declare class PortableTextMarkComponent<M extends TypedObject = any> extends DynamicPortableTextContent<M> {
    /**
     * Mark definition, e.g. the actual data of the annotation. If the mark is a simple decorator, this will be `undefined`
     */
    value: import("@angular/core").InputSignal<M | undefined>;
    /**
     * Text content of this mark
     */
    text: import("@angular/core").InputSignal<string>;
    /**
     * Key for this mark. The same key can be used amongst multiple text spans within the same block, so don't rely on this for Angular keys.
     */
    markKey: import("@angular/core").InputSignal<string | undefined>;
    /**
     * Type of mark - ie value of `_type` in the case of annotations, or the name of the decorator otherwise - eg `em`, `italic`.
     */
    markType: import("@angular/core").InputSignal<string>;
    static ɵfac: i0.ɵɵFactoryDeclaration<PortableTextMarkComponent<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PortableTextMarkComponent<any>, "[portableTextMark]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": true; "isSignal": true; }; "markKey": { "alias": "markKey"; "required": false; "isSignal": true; }; "markType": { "alias": "markType"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
export declare class PortableTextTypeComponent<T extends TypedObject = any> extends DynamicPortableTextContent<T> {
    value: import("@angular/core").InputSignal<T>;
    /**
     * Whether this node is "inline" - ie as a child of a text block,
     * alongside text spans, or a block in and of itself.
     */
    isInline: import("@angular/core").InputSignal<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<PortableTextTypeComponent<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PortableTextTypeComponent<any>, "[portableTextType]", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "isInline": { "alias": "isInline"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
export declare class PortableTextBlockComponent extends PortableTextTypeComponent<PortableTextBlock> {
    static ɵfac: i0.ɵɵFactoryDeclaration<PortableTextBlockComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PortableTextBlockComponent, "[portableTextBlock]", never, {}, {}, never, never, true, never>;
}
export declare class PortableTextListComponent extends PortableTextTypeComponent<PortableTextListBlock> {
    static ɵfac: i0.ɵɵFactoryDeclaration<PortableTextListComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PortableTextListComponent, "[portableTextListItem]", never, {}, {}, never, never, true, never>;
}
export declare class PortableTextListItemComponent extends PortableTextTypeComponent<PortableTextListItemBlock> {
    index: import("@angular/core").InputSignal<number>;
    static ɵfac: i0.ɵɵFactoryDeclaration<PortableTextListItemComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PortableTextListItemComponent, "[portableTextListItem]", never, { "index": { "alias": "index"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
