/*
 * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3 as published by
 * the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

/// <reference types="react" />
import { IntlShape } from 'react-intl';
import { Activities, Activity } from '../../models/Activity';
import GlobalState from '../../models/GlobalState';
import SystemType from '../../models/SystemType';
import { DashboardPublishingPackage } from '../../models';
export interface ActivityItem {
  id: number;
  label: string;
  previewUrl: string;
  systemType: SystemType;
}
export type ActivitiesAndAll = Activities | 'ALL';
export declare function renderActivity(
  activity: Activity,
  dependencies: {
    formatMessage: IntlShape['formatMessage'];
    onItemClick: (item: ActivityItem, e: any) => void;
    onPackageClick: (pkg: DashboardPublishingPackage, e: any) => void;
  }
): JSX.Element;
export declare function renderActivityTimestamp(timestamp: string, locale: GlobalState['uiConfig']['locale']): string;
export declare const activityNameLookup: Record<Activities | 'ALL', any>;
type UseSelectionLookupState<K extends string> = Partial<Record<K, boolean>>;
export declare function useSelectionLookupState<
  K extends string,
  S extends UseSelectionLookupState<K> = UseSelectionLookupState<K>
>(): [S, (key: string) => void, string[]];
export declare function useSelectionLookupState<
  K extends string,
  S extends UseSelectionLookupState<K> = UseSelectionLookupState<K>
>(initialState?: S, resetSelectionKey?: string): [S, (key: string) => void, string[]];
export declare function useSelectionLookupState<
  K extends string,
  S extends UseSelectionLookupState<K> = UseSelectionLookupState<K>
>(initialState?: S): [S, (key: string) => void, string[]];
export declare function useSelectionLookupState<
  K extends string,
  S extends UseSelectionLookupState<K> = UseSelectionLookupState<K>
>(initialState?: () => S, resetSelectionKey?: string): [S, (key: string) => void, string[]];
export declare function useSelectionLookupState<
  K extends string,
  S extends UseSelectionLookupState<K> = UseSelectionLookupState<K>
>(initialState?: () => S): [S, (key: string) => void, string[]];
export {};
