import type { LitElement, ReactiveController, ReactiveControllerHost } from 'lit';
import type { InitializableComponent } from '../../../../decorators/types.js';
type LitElementWithError = Omit<Pick<InitializableComponent, 'error'>, 'error'> & LitElement & {
    error: Error | null;
};
export declare class MissingParentError extends Error {
    constructor(elementName: string, parentName: string);
}
/**
 * A reactive controller that manages item context data from parent components.
 * Handles fetching item data via custom events and manages error states.
 */
export declare class ItemContextController<T = Record<string, unknown>> implements ReactiveController {
    private host;
    private parentName;
    private folded;
    private _item;
    private _error;
    constructor(host: ReactiveControllerHost & LitElementWithError, options?: {
        parentName?: string;
        folded?: boolean;
    });
    get item(): T | null;
    get error(): MissingParentError | null;
    get hasError(): boolean;
    hostConnected(): void;
    private _resolveItemContext;
}
type ItemContextEventHandler<T> = (item: T) => void;
export type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;
export {};
