export default LeagueMatch;
declare class LeagueMatch extends HTMLElement {
    static get observedAttributes(): string[];
    shadow: ShadowRoot;
    _match: any;
    _teams: any[];
    _open: boolean;
    _isMobile: boolean;
    _mode: string;
    _error: string;
    _attentionReason: any;
    _boundOnKeydown: (e: any) => void;
    _firstFocusableElement: any;
    _lastFocusableElement: any;
    _rinkResults: any[];
    _leagueSettings: {};
    /**
     * @param {Object} value
     */
    set match(value: Object);
    get match(): Object;
    _initializeRinkResults(): void;
    _generateDefaultRinkResults(): {
        rinkNumber: number;
        homeShots: number;
        awayShots: number;
    }[];
    /**
     * @param {Object} value - The league settings object
     */
    set leagueSettings(value: Object);
    get leagueSettings(): Object;
    get rinkPointsEnabled(): boolean;
    get defaultRinks(): any;
    get pointsPerRinkWin(): any;
    get pointsPerRinkDraw(): any;
    get pointsForMatchWin(): any;
    get pointsForMatchDraw(): any;
    get pointsForMatchLoss(): any;
    /**
     * @param {Array<string>} value
     */
    set teams(value: Array<string>);
    get teams(): Array<string>;
    /**
     * @param {boolean} value
     */
    set open(value: boolean);
    get open(): boolean;
    /**
     * @param {boolean} value
     */
    set isMobile(value: boolean);
    get isMobile(): boolean;
    /**
     * @param {'edit'|'new'} value
     */
    set mode(value: "edit" | "new");
    get mode(): "edit" | "new";
    /**
     * @param {string | null} value
     */
    set attentionReason(value: string | null);
    get attentionReason(): string | null;
    attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
    connectedCallback(): void;
    /**
     * Show an error message in the modal.
     * @param {string} msg
     */
    showError(msg: string): void;
    /**
     * Clear the error message.
     */
    clearError(): void;
    /**
     * Handle OK button click: validate and emit 'match-save' event.
     * @private
     */
    private _onOk;
    /**
     * Handle Cancel button click: emit 'match-cancel' event.
     * @private
     */
    private _onCancel;
    render(): void;
    /**
     * Handles input changes for rink results
     * @param {number} rinkIndex - Index of the rink in the _rinkResults array
     * @param {string} field - Field to update ('homeShots' or 'awayShots')
     * @param {string|number} value - New value for the field
     */
    _onRinkInput(rinkIndex: number, field: string, value: string | number): void;
    /**
     * Renders the rink results rows
     * @returns {string} HTML string for the rink results
     */
    _renderRinkResults(): string;
    /**
     * Formats a number for display, removing trailing `.0`.
     * @param {number} num The number to format.
     * @returns {string} The formatted number as a string.
     */
    _formatNumber(num: number): string;
    /**
     * Updates the total shots and points based on rink results
     */
    _updateRinkTotals(): void;
    /**
     * Calculates the total shots for a team
     * @param {'home'|'away'} team - The team to calculate shots for
     * @returns {number} Total shots
     */
    _calculateTotalShots(team: "home" | "away"): number;
    /**
     * Calculates the total points for a team based on rink results
     * @param {'home'|'away'} team - The team to calculate points for
     * @returns {number} Total points
     */
    _calculateTotalPoints(team: "home" | "away"): number;
    _onKeydown(e: any): void;
    _escapeHtml(str: any): string;
    _focusFirstElement(): void;
    _updateDisabledOptions(changedSelect: any, otherSelect: any): void;
}
//# sourceMappingURL=leagueMatch.d.ts.map