import { type IInfiniteScrollControllerConfig } from '../../Controllers/InfiniteScrollController';
import { type AttributePart } from 'lit';
import { type AsyncDirectiveArgs, AsyncDirectiveBase } from '../Abstracts/AsyncDirectiveBase';
/**
 * Represents the `InfiniteScrollDirective` class.
 *
 * @private
 */
declare class InfiniteScrollDirective extends AsyncDirectiveBase {
    private _controller;
    /**
     * Constructs a new instance of the `InfiniteScrollDirective` class.
     *
     * @public
     * @param args - The directive arguments.
     */
    constructor(args: AsyncDirectiveArgs);
    /**
     * @public
     */
    render(_config: IInfiniteScrollControllerConfig): unknown;
    /**
     * @public
     * @override
     */
    update(part: AttributePart, [config]: [IInfiniteScrollControllerConfig]): unknown;
    /**
     * @public
     * @override
     */
    disconnected(): void;
}
/**
 * The `infiniteScroll` directive is used to implement infinite scrolling functionality on an element.
 *
 * @public
 */
export declare const infiniteScroll: (...values: Parameters<InfiniteScrollDirective["render"]>) => any;
export {};
//# sourceMappingURL=InfiniteScrollDirective.d.ts.map