/** Take the rail. Any other open rail is asked to close first. */ declare function claimSheetRail(id: string, close: () => void): void; /** Give up the rail. No-ops if another sheet already took it. */ declare function releaseSheetRail(id: string): void; /** * Join the single-rail group for as long as `open` is true. * * `onOpenChange` is read through a ref so a caller passing an inline arrow * does not re-register the rail on every render, which would close the sheet * that is currently open. */ declare function useSheetRail(open: boolean, onOpenChange: ((open: boolean) => void) | undefined, enabled?: boolean): void; export { claimSheetRail, releaseSheetRail, useSheetRail };