import { ControllerBase, type ControllerHost } from './Abstracts/ControllerBase';
/**
 * The config options for a ClickOutsideController.
 */
export interface IClickOutsideControllerConfig {
    callback?: (e: Event) => void;
    skipInitial?: boolean;
}
/**
 * ClickOutsideController - This controller is used to detect clicks outside of the host element.
 *
 * @public
 */
export declare class ClickOutsideController extends ControllerBase {
    private readonly _callback?;
    private readonly _skipInitial?;
    private _clickSubscription;
    private _keydownSubscription;
    private _resizeSubscription;
    /**
     * Constructs a new instance of the `ClickOutsideController` class.
     *
     * @public
     */
    constructor(host: ControllerHost, config: IClickOutsideControllerConfig);
    /**
     * @public
     * @override
     */
    hostConnected(): void;
    /**
     * @public
     * @override
     */
    hostDisconnected(): void;
    /**
     * @public
     */
    observe(): void;
    /**
     * @public
     */
    unobserve(): void;
    /**
     * @private
     */
    private onClick;
    /**
     * @private
     */
    private onKeyDown;
    /**
     * @private
     */
    private onResize;
}
//# sourceMappingURL=ClickOutsideController.d.ts.map