import { Effect } from 'effect'; /** * Locks page scroll by setting `overflow: hidden` on the document element. * Compensates for scrollbar width with padding to prevent layout shift. * On iOS Safari, intercepts `touchmove` events to prevent page scroll * while allowing scrolling within overflow containers. * Uses reference counting so nested locks are safe. The page only unlocks * when every lock has been released. * * @example * ```typescript * Dom.lockScroll * ``` */ export declare const lockScroll: Effect.Effect; /** * Releases one scroll lock. When the last lock is released, restores the * original `overflow` and `padding-right` on the document element. * On iOS Safari, removes the `touchmove` listener. * * @example * ```typescript * Dom.unlockScroll * ``` */ export declare const unlockScroll: Effect.Effect; //# sourceMappingURL=scrollLock.d.ts.map