import { TemplateResult } from 'lit'; import { SbbElement, SbbElementConstructor } from '../base-elements/element.ts'; import { AbstractConstructor } from './constructor.ts'; export interface SbbNamedSlotProperties { name: string; ariaHidden: boolean; } /** * Helper type for willUpdate or similar checks. * Allows the usage of the string literal 'listChildren'. * * @example * protected override willUpdate(changedProperties: PropertyValues>): void { * if (changedProperties.has('listChildren')) { * ... * } * } */ export type WithListChildren, C extends HTMLElement = HTMLElement> = T & { listChildren: C[]; }; export declare abstract class SbbNamedSlotListMixinType extends SbbElement { protected abstract readonly listChildLocalNames: string[]; protected accessor listChildren: C[]; protected renderList(attributes?: { class?: string; ariaLabel?: string; ariaLabelledby?: string; }, listItemAttributes?: { localNameVisualOnly?: string[]; }): TemplateResult; protected listSlotEntries(): SbbNamedSlotProperties[]; protected renderHiddenSlot(): TemplateResult; } export declare const SbbNamedSlotListMixin: & SbbElementConstructor>(superClass: T) => AbstractConstructor> & T; //# sourceMappingURL=named-slot-list-mixin.d.ts.map