export default LeagueAdminElement;
declare class LeagueAdminElement extends HTMLElement {
    static _globalStylesInjected: boolean;
    static get observedAttributes(): string[];
    LOG_PREFIX: string;
    shadow: ShadowRoot;
    _leagues: any[];
    _selectedLeagueId: any;
    _currentLeagueId: any;
    _selectedTeamId: any;
    _isModalVisible: boolean;
    _modalMode: string;
    _data: any;
    _teamModalMode: any;
    _teamBeingEdited: {} | null;
    _lovebowlsTeams: any[];
    teamModalOpen: boolean;
    teamModalData: any;
    teamModalMode: string;
    teamModalOptions: {};
    matchModalOpen: boolean;
    matchModalData: any;
    matchModalTeams: any[];
    matchModalMode: string;
    resetModalOpen: boolean;
    _pendingNewLeagueData: {
        name: any;
        settings: {
            pointsForWin: number;
            pointsForDraw: number;
            pointsForLoss: number;
            timesTeamsPlayOther: number;
            promotionPositions: number;
            relegationPositions: number;
            maxRinksPerSession: number | undefined;
            rinkPoints: {
                enabled: any;
                pointsPerRinkWin: number;
                pointsPerRinkDraw: number;
                defaultRinks: number;
            };
        };
    } | null;
    _isWaitingForNewLeagueConfirmation: boolean;
    _isNewLeagueLoading: boolean;
    _isCopyLeagueLoading: boolean;
    _loadingTimeout: NodeJS.Timeout | null;
    _rightPanelWasVisible: boolean;
    get _isMobile(): boolean;
    get _fontScale(): number;
    _injectGlobalSwalStyles(): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    _documentClickHandlerBound: ((e: any) => void) | null | undefined;
    attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
    _parseAndLoadData(): void;
    _parseLovebowlsTeamsData(dataString: any): void;
    _applyCurrentLeagueIdSelection(): boolean;
    showError(message: any): void;
    clearError(): void;
    render(): void;
    _renderLeagueList(): void;
    _handleLeagueSelect(leagueId: any): void;
    _createAndAppendLeagueActions(container: any, leagueId: any): void;
    _currentLeagueIdForMenu: any;
    _showLeagueSpecificPanels(): void;
    _hideLeagueSpecificPanels(): void;
    _updateButtonStates(): void;
    _renderTeamsList(): void;
    _scrollTeamsListToTop(): void;
    _attachBaseEventListeners(): void;
    _getSelectedLeague(): any;
    /**
     * Hides/resets all league action dropdown menus to their default state
     * This function finds all dropdown menu elements and hides them
     */
    _hideGlobalLeagueMenu(): void;
    /**
     * Handle document clicks to close dropdown menus when clicking outside
     */
    _handleDocumentClick(e: any): void;
    _handleResetLeague(): void;
    /**
     * Open the reset modal for a league
     * @param {Object} league - The league object to reset
     */
    _openResetModal(league: Object): void;
    _leagueToReset: Object | null | undefined;
    /**
     * Close the reset modal
     */
    _closeResetModal(): void;
    /**
     * Reset matches for a league while preserving teams
     * @param {Object} leagueToReset - The league object to reset matches for
     * @param {Array} generatedMatches - The generated matches array
     * @param {number} matchCount - The number of matches generated
     * @param {Object} dateRange - The date range for scheduling matches
     */
    _applyGeneratedMatches(leagueToReset: Object, generatedMatches: any[], matchCount: number, dateRange: Object): void;
    _mapGeneratedMatchesToActualTeams(generatedMatches: any, actualTeams: any): any;
    _handleViewLeagueTable(): void;
    _handleAddTeam(): void;
    _handleEditTeam(team: any): void;
    _handleRemoveTeam(team: any): void;
    _showTeamModal(mode: any, teamData?: null, existingTeams?: any[]): void;
    _hideTeamModal(): void;
    _populateTeamModalForm(modalBody: any, teamData: any, existingTeams?: any[]): void;
    _showTeamModalError(message: any): void;
    _clearTeamModalError(): void;
    _handleSaveTeamModal(): void;
    _showModal(mode: any, leagueData?: null): void;
    _hideModal(): void;
    _populateModalForm(modalBody: any, leagueData: any): void;
    _handleSaveModal(): void;
    /**
     * Set up tab switching functionality for the modal
     * @param {HTMLElement} modalBody - The modal body element
     * @private
     */
    private _setupModalTabs;
    /**
     * Get the configuration for modal tabs
     * This method makes it easy to extend tabs in the future
     * @returns {Array} Array of tab configurations
     * @private
     */
    private _getModalTabsConfig;
    /**
     * Generate the League Structure tab content
     * @param {Object} settings - League settings object
     * @returns {string} HTML content for the tab
     * @private
     */
    private _getLeagueStructureTabContent;
    /**
     * Generate the Points tab content
     * @param {Object} settings - League settings object
     * @returns {string} HTML content for the tab
     * @private
     */
    private _getPointsTabContent;
    _getSwalCustomClasses(): {
        popup: string;
        title: string;
        htmlContainer: string;
        actions: string;
        confirmButton: string;
        cancelButton: string;
    };
    /**
     * Check if we need to show new league confirmation dialog
     */
    _handleLeagueOperationTimeout(): void;
    _handleLeagueOperationError(errorMessage?: string): void;
    /**
     * Public method to handle save errors from parent component
     * @param {string} errorMessage - The error message to display
     */
    handleSaveError(errorMessage: string): void;
    _checkForNewLeagueConfirmation(): void;
    /**
     * Show confirmation dialog after creating a new league
     * @param {Object} newLeague - The newly created league object
     */
    _showNewLeagueConfirmationDialog(newLeague: Object, originalData: any): void;
    _handleNewLeague(): void;
    _handleCopyLeague(): void;
    _handleEditLeagueRules(): void;
    _handleDeleteLeague(): void;
    _handleAddMatch(): void;
    _handleEditMatch(matchIdContainer: any): void;
    openMatchModal(matchData: any, teams: any, mode?: string): void;
    closeMatchModal(): void;
    /**
     * Renders only the match modal without affecting the rest of the component
     * @private
     */
    private _renderMatchModal;
    openTeamModal(teamData: any, mode?: string, options?: {}): void;
    closeTeamModal(): void;
    _setupResizer(): void;
    _updateAttentionPanel(leagueToUse: any): void;
    _handleAdminAttentionMatchClickBound: ((e: any) => void) | undefined;
    _updateSchedulePanel(leagueToUse: any): void;
    _handleAdminScheduleEventBound: ((e: any) => void) | undefined;
    _updateDashboardPanel(leagueToUse: any): void;
    _handleAdminAttentionMatchClick(e: any): void;
    _handleAdminScheduleEvent(e: any): void;
    _handleTeamSelect(team: any): void;
    _createAndAppendTeamActions(actionsContainer: any, team: any): void;
    setupMatrixEventListeners(): void;
}
//# sourceMappingURL=leagueAdminElement.d.ts.map