import * as _angular_core from '@angular/core';
/**
* Stick-on-scroll directive. Combines native CSS `position: sticky` with
* an `IntersectionObserver`-driven `--affixed` state class, so consumers
* can style the element differently while it's pinned (e.g. add a
* shadow, change the background, shrink the height).
*
* The host gets `position: sticky; top: ${offsetTop}px;` inline. A tiny
* sentinel `
` is inserted just before the host — when the sentinel
* scrolls out of view, the host is "stuck" and gets `wr-affix--active`
* + an `(wrAffixChange)` emission.
*
* Works inside any scroll container without configuration — CSS sticky
* picks the nearest scrollable ancestor automatically.
*
* @example
* ```html
*
* ```
*
* ```scss
* header.wr-affix.wr-affix--active {
* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
* }
* ```
*/
declare class WrAffix {
/** Pixels from the top of the scroll container when stuck. @default 0 */
readonly offsetTop: _angular_core.InputSignalWithTransform;
/** Emits `true` when the element becomes affixed, `false` when it unsticks. */
readonly affixChange: _angular_core.OutputEmitterRef;
private readonly host;
private readonly destroyRef;
private readonly isBrowser;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration;
}
export { WrAffix };