/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveControllerHost } from 'lit'; import { CollapseSection } from '../collapse.type.js'; import { BaseComponentController } from '@nuralyui/common/controllers'; /** * Base controller interface for collapse components */ export interface CollapseControllerHost extends ReactiveControllerHost { sections: CollapseSection[]; accordion?: boolean; allowMultiple?: boolean; animation?: string; requestUpdate(): void; updateSection?(index: number, updates: Partial): void; updateSections?(updates: Array<{ index: number; updates: Partial; }>): void; } /** * Base controller for collapse component functionality */ export declare abstract class BaseCollapseController extends BaseComponentController { /** * Get section by index safely */ protected getSection(index: number): CollapseSection | undefined; /** * Update a specific section */ protected updateSection(index: number, updates: Partial): void; /** * Update multiple sections at once (more efficient for batch operations) */ protected updateSections(updates: Array<{ index: number; updates: Partial; }>): void; /** * Get all open sections */ protected getOpenSections(): number[]; } //# sourceMappingURL=base.controller.d.ts.map