import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core'; import { MatCheckboxChange } from '@angular/material/checkbox'; import * as i0 from "@angular/core"; /** * @interface * @name Line * @description * Represents the properties of a transport line, including its colors, identifiers, and type. */ export interface Line { /** The color of the line. */ color: string; /** The line ID. */ id: string; /** The full name of the line. */ longName: string; /** The color for the text displayed on the line. */ textColor: string; /**the shape of the logo, est surchagre par l'input si existant */ shape?: Shape; /** The line type, such as `PROXIMO`, `BUS`, `TEAM`, `CHRONO_PERI`. */ type: string; } /** * @interface * @name disturbanceInfo * @description * Represents the properties of a disturbance, including the disturbance level and whether it is outer. */ export interface disturbanceInfo { /** If `true`, the line has a disturbance */ hasDisturbance: boolean; /** The disturbance level. */ nsv: number; /** If `true`, the disturbance is outer. */ outer: boolean; } export declare enum Shape { ROUNDED = "rounded", CIRCLE = "circle", SQUARE = "square", RECTANGLE = "rectangle" } /** * @component * @name MLogoLines * @description * A component that displays a logo for a given transport line. It customizes the size, padding, * and shape of the logo based on the input properties, and calculates optimal font size * for the line's name display. * * ### Usage example * ```html * * ``` */ export declare class MLogoLines implements OnChanges { /** The transport line object that defines the logo's content and colors. */ ligne: Line; /** Padding coefficient for the top of the logo. */ paddingCoefTop: number; /** Padding coefficient for the left side of the logo. */ paddingCoefLeft: number; /** The height of the logo. */ height: number; /** The width of the logo. */ width: number; /** If `true` display mat-checkbox behind logo-lines */ isCheckbox: boolean; /** If `true`, displays the line's description. */ description: boolean; /** If `true`, selects the line. */ checked: boolean; /** The opacity of the logo. */ opacity: number; /** Add Logo Disturbance */ disturbance: disturbanceInfo; /**The shape of the logo */ shape?: Shape; /** Emits when the line is clicked. */ lineChange: EventEmitter<{ line: Line; checked: boolean; }>; /** The viewBox attribute for SVG scaling, updated based on width and height. */ viewBox: string; /** The calculated font size for the line's text display. */ fontSize: string; shortName: string; longName: string; lineType: string; /**les classes à associer au svg du logo */ classes: string; /** * @method onClick * @description * Emits the `lineClicked` event when the line is clicked. * * @returns {void} */ clickLine(ligne: Line, evt: MatCheckboxChange): void; /** * @method ngOnChanges * @description * Updates the component when input properties change. Calculates viewBox, font size, and other * properties based on the input line data and dimensions. * * @param {SimpleChanges} changes - The changes in input properties. * @returns {void} */ ngOnChanges(changes: SimpleChanges): void; /** * Attribute class for any disturbances and shape * @returns {string} */ getClass(): string; getShape(): Shape; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }