import { SbbButtonBaseElement, type SbbElementType } from '@sbb-esta/lyne-elements/core.js'; import { type CSSResultGroup, type PropertyValues, type TemplateResult } from 'lit'; import type { PlaceSelection, PlaceState, PlaceType, TravelDirection } from '../common/types.ts'; export declare class SbbPlaceSelectionEvent extends Event { private readonly _detail; get detail(): PlaceSelection; constructor(detail: PlaceSelection); } /** * Output the graphic of a seat or a bicycle place as a control element. */ export declare class SbbSeatReservationPlaceControlElement extends SbbButtonBaseElement { static readonly elementName: string; static elementDependencies: SbbElementType[]; static styles: CSSResultGroup; static readonly events: { readonly selectplace: "selectplace"; }; /** placeType of the place, e.g. 'SEAT', 'BICYCLE' */ accessor placeType: PlaceType; /** state of the place, e.g. 'FREE', 'SELECTED', 'BLOCKED' */ accessor state: PlaceState; /** direction of a whole train, used to compute an orientation of a place */ accessor travelDirection: TravelDirection; /** property ids of the place, to display more info about the place */ accessor propertyIds: string[]; /** label of the place, e.g. '1A', '2B' */ accessor text: string; /** Deck Index Prop to identifier the right place to deck */ accessor deckIndex: number; /** Coach Index Prop to identifier the right place to coach */ accessor coachIndex: number; /** Prevent click prop prevent any place action */ accessor preventClick: boolean; /** Set the place focus outline style */ accessor keyfocus: string; /** Disable the mouse over title information */ accessor showTitleInfo: boolean; private _language; constructor(); protected willUpdate(changedProperties: PropertyValues): void; protected render(): TemplateResult; private _getPlaceSvg; private _getTitleDescriptionPlace; private _getRelativeTravelDirection; /** If the place selectable, we emit the placeSelection object which contains infos to the place state */ private _selectPlace; } declare global { interface HTMLElementTagNameMap { 'sbb-seat-reservation-place-control': SbbSeatReservationPlaceControlElement; } }