import type { ArrApi } from '../../../json-crdt/model';
import { NestedTag } from './NestedTag';
import type { PersistedSlice } from './PersistedSlice';
export declare class NestedType<T = string> {
    protected slice: PersistedSlice<T>;
    constructor(slice: PersistedSlice<T>);
    /** Enforces slice type to be an "arr" of tags. */
    asArr(): ArrApi;
    /**
     * Nested tag API for nested block types.
     *
     * @param index The position of the tag in the type array. If not specified,
     *     returns the last tag (255). Maximum index is 255.
     * @returns Slice tag API for the given position.
     */
    tag(index?: number): NestedTag<T>;
}
