import * as _angular_core from '@angular/core'; import { InjectionToken, Signal } from '@angular/core'; /** * Expandable panel with a clickable header. Two-way binds the `open` * state. When wrapped in ``, only one * sibling can be open at a time. * * @example * ```html * * Section body… * * * * * * * ``` * * @see https://ngwr.dev/components/collapse */ declare class WrCollapse { /** Header text. */ readonly title: _angular_core.InputSignal; /** Two-way bindable open/closed state. @default false */ readonly open: _angular_core.ModelSignal; /** Disable interaction. @default false */ readonly disabled: _angular_core.InputSignalWithTransform; /** Identity used by the parent group when tracking children. @internal */ readonly id: { name: string; }; /** DOM id for the body element, referenced by header's `aria-controls`. */ protected readonly bodyId: string; private readonly group; private readonly destroyRef; protected readonly classes: _angular_core.Signal; constructor(); /** Open the panel. */ openPanel(): void; /** Close the panel. */ close(): void; /** Toggle the panel. */ toggle(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** * Contract a collapse uses to talk to its parent ``. * * @internal */ interface WrCollapseGroupContext { /** When true, only one child collapse may be open at a time. */ readonly accordion: Signal; /** Called by a child when it opens — closes siblings in accordion mode. */ notifyOpened(opener: object): void; /** Register a child so the group can call `closeAll()` etc. */ register(member: { close(): void; readonly id: object; }): void; /** Unregister on destroy. */ unregister(memberId: object): void; } /** * Token a `` injects to register itself with — and notify of * open events — its parent ``. Drives the accordion * behaviour when the group has `accordion` enabled. * * @internal */ declare const WR_COLLAPSE_GROUP: InjectionToken; interface Member$1 { close(): void; readonly id: object; } /** * Visual + behavioral grouping of `` children. When * `accordion` is true, opening one child closes the others. * * @see https://ngwr.dev/components/collapse */ declare class WrCollapseGroup implements WrCollapseGroupContext { /** When true, only one child may be open at a time. @default false */ readonly accordion: _angular_core.InputSignalWithTransform; private readonly members; register(member: Member$1): void; unregister(memberId: object): void; notifyOpened(opener: object): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface Member { close(): void; readonly id: object; } /** * Accordion — a `` container that enforces single-open * behavior: opening a child closes its siblings. * * Use `` when you only need visual grouping without * the mutually-exclusive open semantics. * * @example * ```html * * * * * * ``` * * @see https://ngwr.dev/components/collapse */ declare class WrAccordion implements WrCollapseGroupContext { /** Always behaves as an accordion. Provided for context-interface symmetry. */ readonly accordion: _angular_core.Signal; private readonly members; register(member: Member): void; unregister(memberId: object): void; notifyOpened(opener: object): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { WR_COLLAPSE_GROUP, WrAccordion, WrCollapse, WrCollapseGroup }; export type { WrCollapseGroupContext };