export default LeagueMatchesAttention;
/**
 * Custom element to display matches requiring attention with paging.
 *
 * @element league-matches-attention
 * @attr {string} data - JSON stringified League instance object
 * @attr {boolean} [is-mobile] - Whether to use mobile styles
 * @attr {string} [team-mapping] - JSON stringified array of {value, label} objects mapping team values to display names
 *
 * Emits 'league-matches-attention-event' with detail { type: 'matchClick', match }
 */
declare class LeagueMatchesAttention extends HTMLElement {
    static get observedAttributes(): string[];
    shadow: ShadowRoot;
    league: Object | import("@lovebowls/leaguejs").League | null;
    currentPage: number;
    itemsPerPage: number;
    teamMapping: {};
    connectedCallback(): void;
    attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
    _setTeamMapping(mappingData: any): void;
    getTeamDisplayName(teamId: any): any;
    /**
     * Loads and parses the league data.
     * @param {string|Object} data - League instance or JSON string
     */
    loadData(data: string | Object): Promise<void>;
    /**
     * Shows an error message in the component.
     * @param {string} message
     */
    showError(message: string): void;
    _hasNextPage(): boolean;
    /**
     * Renders the list of matches requiring attention for the current page.
     * @returns {string}
     */
    renderAttentionMatches(): string;
    _fillTemplate(template: any): any;
    render(): void;
    setupEventListeners(): void;
    setPage(pageNumber: any): void;
    escapeHtml(unsafe?: string): string;
}
//# sourceMappingURL=LeagueMatchesAttention.d.ts.map