import { ControllerBase, type ControllerHost } from '../../../Controllers/Abstracts/ControllerBase';
import type { CssLength } from '@breadstone/mosaik-themes';
/**
 * Controller options.
 *
 * @public
 */
export interface IStickyControllerOptions {
    top?: CssLength;
    left?: CssLength;
}
/**
 * A controller that enables sticky positioning via flexible strategies.
 *
 * @public
 */
export declare class StickyController extends ControllerBase {
    private _strategy?;
    private readonly _options;
    /**
     * Constructs a new instance of the `StickyController` class.
     *
     * @param host - The controller host element.
     * @param options - Optional configuration for the sticky controller.
     *
     * @public
     */
    constructor(host: ControllerHost, options?: IStickyControllerOptions);
    /**
     * Gets or sets the `top` property.
     *
     * @public
     * @writeonly
     */
    set top(value: CssLength);
    /**
     * Gets or sets the `left` property.
     *
     * @public
     * @writeonly
     */
    set left(value: CssLength);
    /**
     * @public
     */
    hostConnected(): void;
    /**
     * @public
     */
    hostDisconnected(): void;
    /**
     * @private
     */
    private applyCssVariables;
    /**
     * @private
     */
    private hasScrollableParent;
}
//# sourceMappingURL=StickyController.d.ts.map