import * as React$1 from 'react'; import React__default, { ReactNode } from 'react'; import * as PCO_URL from '@planningcenter/url'; import { Environment } from '@planningcenter/url'; import Jolt from '@planningcenter/jolt-client'; declare const AccessibilityToolbar: ({ children, }: { children?: React__default.ReactNode; }) => JSX.Element; type Fetch = typeof fetch; declare const railsCsrfFetch: Fetch; declare class StyledAnnouncement$1 extends React__default.Component<{ /** * Deprecated: is no longer used */ isPhoenix?: boolean; style?: object; variant?: string; }, {}> { render(): JSX.Element; } declare class StyleProvider$1 extends React__default.Component<{ className?: string; /** * Deprecated: is no longer used * Use CSS variables to style the component instead. */ colors?: object; /** * Deprecated: is no longer used */ isPhoenix?: boolean; style?: object; }, {}> { render(): JSX.Element; } declare class PlatformAnnouncements extends React__default.Component<{ /** * Deprecated: is no longer used * Use CSS variables to style the component instead. */ colors?: object; configuredFetch?: Fetch; data: object; env: Environment; /** * Deprecated: is no longer used */ isPhoenix?: boolean; renderItem?: any; }, {}> { static defaultProps: { configuredFetch: typeof fetch; renderItem: ({ announcement, actions }: { announcement: any; actions: any; }) => JSX.Element; }; render(): JSX.Element; } declare function ProductAnnouncement({ html, onClick, ...props }: { /** * Deprecated: is no longer used * Use CSS variables to style the component instead. */ colors?: object; html: string; /** * Deprecated: is no longer used */ isPhoenix?: boolean; onClick: (event: any) => any; }): JSX.Element; declare class StyleProvider extends React__default.Component<{ className?: string; /** * Deprecated: is no longer used * Use CSS variables to style the component instead. */ colors?: object; /** * Deprecated: is no longer used */ isPhoenix?: boolean; style?: object; }, {}> { render(): JSX.Element; } declare class StyledAnnouncement extends React__default.Component<{ /** * Deprecated: is no longer used */ isPhoenix?: boolean; style?: object; }, {}> { render(): JSX.Element; } declare function StyledDismissButton({ ...props }: any): JSX.Element; interface App { name: string; notifications_preferences_url?: string; url: string; } interface ConnectedPerson { attributes: { name: string; organization_name: string; }; id: number; } interface TopbarAPIResponse { data: { attributes: { algolia_application_identifier: string; algolia_search_key: string; apps: App[]; color_mode: "light" | "dark" | "system"; features: string[]; has_connected_people: boolean; mfa_configured: boolean; name: string; org_time_zone: string; }; }; } interface AppsProviderProps { configuredFetch?: Fetch; enableJoltLogging?: boolean; env: PCO_URL.Environment; formatter?: any; joltPromise?: () => Promise; render: (apps: App[], { fetch, remove }: { fetch: () => any; remove: () => any; }) => React.ReactElement; userId: string; wssEndpoint?: string; } interface SharedTopbarProps { appName: string; apps: App[]; colors?: any; connectedPeople: ConnectedPerson[]; env: PCO_URL.Environment; joltPromise?: () => Promise; linkToProfile?: boolean; notifications?: () => any; orgName: string; requestAppsFetch: any; requestClearAppsCache: any; requestClearConnectedPeopleCache: any; requestConnectedPeopleFetch: any; requestSwitchConnectedPerson: any; requestUnlinkConnectedPeople: any; routes: any; style?: any; useDummyNotifications?: boolean; userAvatarPath: string; userId: string; userName: string; wssEndpoint?: string; } declare const AppsProvider: ({ configuredFetch, enableJoltLogging, env, formatter, joltPromise: providedJoltPromise, wssEndpoint, render, userId, }: AppsProviderProps) => React$1.ReactElement>; declare function mapApps(resp: TopbarAPIResponse): App[]; declare class ConnectedPeopleProvider extends React__default.Component<{ configuredFetch?: Fetch; env: Environment; render: (connectedPeople: ConnectedPerson[], callback: any) => JSX.Element; }, { connectedPeople: ConnectedPerson[]; }> { constructor(props: any); static defaultProps: { configuredFetch: typeof fetch; }; fetch(): void; unlink(): void; switch(toId: string, returnPath: string): void; componentDidMount(): void; render(): JSX.Element; } declare class DisplaySwitch extends React__default.Component<{ notSmallTopbar: (breakpointShortand: string) => React__default.ReactElement; smallBreakpoints: String[]; smallTopbar: (breakpointShorthand: string) => React__default.ReactElement; }, {}> { static defaultProps: { smallBreakpoints: string[]; }; render(): JSX.Element; } interface NotSmallTopbarProps { /** * Deprecated: is no longer used */ isPhoenix?: boolean; onLinkToProfileClick?: () => any; search?: any; showOrgName?: boolean; } declare const NotSmallTopbar: ({ notifications, search, showOrgName, useDummyNotifications, ...props }: NotSmallTopbarProps & SharedTopbarProps) => JSX.Element; declare const NotSmallRoute: ({ active, className, colors, ...nativeProps }: { active: boolean; children: React__default.ReactNode; className?: string; /** * Deprecated: is no longer used * Use CSS variables to style the component instead. */ colors: any; /** * Deprecated: is no longer used */ isPhoenix?: boolean; } & React__default.AnchorHTMLAttributes) => JSX.Element; interface SmallTopbarProps { currentRouteComponent?: any; /** * Deprecated: is no longer used */ isPhoenix?: boolean; } declare const SmallTopbar: ({ currentRouteComponent, linkToProfile, ...props }: SharedTopbarProps & SmallTopbarProps) => JSX.Element; declare const SmallRoute: ({ active, className, ...props }: { active?: boolean; /** * Deprecated: is no longer used */ isPhoenix?: boolean; } & React__default.AnchorHTMLAttributes) => JSX.Element; declare const Bell: ({ dot, dotFill, fill, style, ...props }: { dot?: boolean; dotFill?: string; fill?: string; style?: object; }) => JSX.Element; declare const Spyglass: ({ fill, style, ...nativeProps }: { fill?: string; style?: object; }) => JSX.Element; declare const X: ({ fill, style, ...nativeProps }: { fill?: string; style?: object; }) => JSX.Element; type HelpdeskConfig = { fetchZendeskDetails?: boolean; onClick?: () => void; }; type ToolbarProps = { _storeDataOverride?: Partial; appName: string; autoMountTool?: string; env: Environment; helpdeskConfig?: HelpdeskConfig; /** * Deprecated: is no longer used */ isPhoenix?: boolean; linkToProfile?: boolean; onReceiveTasksWorker?: (worker: Worker) => void; requestClearAppsCache?: any; userAvatarPath: string; userName: string; }; type ToolbarStoreData = { disconnectJoltOnUnmount: boolean; hasConnectedPeople: boolean; indicatorVisible: object; joltPromise: () => Promise; userId: string; }; declare function Toolbar({ appName, autoMountTool, env, helpdeskConfig, linkToProfile, onReceiveTasksWorker, requestClearAppsCache, userAvatarPath, userName, _storeDataOverride, }: ToolbarProps): JSX.Element; interface SwitchViewProps { activeIndex: number; children: ReactNode; } declare const SwitchView: React__default.FC; export { AccessibilityToolbar, AppsProvider, Bell as BellIcon, ConnectedPeopleProvider, DisplaySwitch, NotSmallRoute, NotSmallTopbar, PlatformAnnouncements, StyleProvider$1 as PlatformAnnouncementsStyleProvider, ProductAnnouncement, StyleProvider as ProductAnnouncementStyleProvider, SmallRoute, SmallTopbar, Spyglass as SpyglassIcon, StyledAnnouncement$1 as StyledPlatformAnnouncement, StyledAnnouncement as StyledProductAnnouncement, StyledDismissButton as StyledProductAnnouncementDimissButton, SwitchView, Toolbar, X as XIcon, mapApps, railsCsrfFetch }; export type { HelpdeskConfig };