import { ReactNode } from 'react'; import { View } from '../types/enums'; import { ViewsInfo } from '../types/internal-interface'; /** * ViewService provides methods for managing views within the Scheduler component. * * @private */ export declare class ViewService { /** * Process child views to extract view information * * @param {ReactNode} children - Children components * @param {function(string): string} [getString] - Optional localization getter for display names * @returns {ViewsInfo[]} Array of view information */ static getViewsInfo(children: ReactNode, getString?: (key: string) => string): ViewsInfo[]; /** * Find view information by name or type * * @param {ViewsInfo[]} viewsInfo - Array of view information * @param {string} viewNameOrType - View name or type to search for * @returns {ViewsInfo | undefined} View information if found */ static findViewByNameOrType(viewsInfo: ViewsInfo[], viewNameOrType: string): ViewsInfo | undefined; /** * Get the default view information * * @param {ViewsInfo[]} viewsInfo - Array of view information * @returns {ViewsInfo | undefined} Default view information */ static getDefaultView(viewsInfo: ViewsInfo[]): ViewsInfo | undefined; /** * Check if a specific view type is available using a getter * * @param {ViewsInfo[]} getAvailableViews - Function returning available views * @param {View} viewType - View type to check (e.g., 'Day') * @returns {boolean} True if the view type exists in available views */ static isViewAvailable(getAvailableViews: () => ViewsInfo[] | undefined, viewType: View): boolean; /** * Convenience helper to check if Day view is available * * @param {ViewsInfo[]} getAvailableViews - Function returning available views * @returns {boolean} True if Day view exists in available views */ static isDayViewAvailable(getAvailableViews: () => ViewsInfo[] | undefined): boolean; /** * Convenience helper to check if Agenda view is available * * @param {ViewsInfo[]} getAvailableViews - Function returning available views * @returns {boolean} True if Agenda view exists in available views */ static isAgendaViewAvailable(getAvailableViews: () => ViewsInfo[] | undefined): boolean; /** * Maps a timeline view type to its composed CSS class string * (base `sf-timeline-view` + view-specific class). Falls back to the * day view class for unknown values. * * @param {string} view - Active timeline view type. * @returns {string} Composed CSS class string for the timeline view container. */ static getTimelineViewClasses(view: string): string; }