import type { LitElement, ReactiveController, ReactiveControllerHost } from 'lit';
import type { ItemRenderingFunction } from '../item-list/item-list-common';
import type { AnyItem } from '../item-list/unfolded-item';
export interface CustomRenderHost extends ReactiveControllerHost {
    shadowRoot?: ShadowRoot | null;
}
export interface CustomRenderOptions {
    renderingFunction: () => ItemRenderingFunction<AnyItem> | undefined;
    itemData: () => AnyItem | undefined;
    rootElementRef: () => HTMLElement | undefined;
    linkContainerRef?: () => HTMLElement | undefined;
    onRenderComplete?: (element: HTMLElement, output: string) => void;
}
/**
 * A reactive controller that manages custom rendering function execution for item components.
 */
export declare class CustomRenderController implements ReactiveController {
    private options;
    private hasExecutedRenderFunction;
    constructor(host: CustomRenderHost & LitElement, options: CustomRenderOptions);
    hostConnected(): void;
    hostUpdated(): void;
    private resetRenderState;
    private executeRenderFunction;
}
