import React, { ReactNode, HTMLProps, ComponentType } from 'react'; export interface LinkLikeComponentProps extends HTMLProps { to: string; children?: React.ReactNode; external?: boolean; [key: string]: any; } export declare type TranslationKey = 'close' | 'expand' | 'submit' | 'processing' | 'dismissNotification' | 'increment' | 'decrement' | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday' | 'mondayAbbreviation' | 'tuesdayAbbreviation' | 'wednesdayAbbreviation' | 'thursdayAbbreviation' | 'fridayAbbreviation' | 'saturdayAbbreviation' | 'sundayAbbreviation' | 'showNextMonth' | 'showPreviousMonth'; export interface SimpleInterpolationReplacements { [key: string]: string | number; } export interface Geolocation { countryCode?: string; } export interface Context { linkComponent?: ComponentType; geolocation?: Geolocation; translate(key: TranslationKey, replacements?: SimpleInterpolationReplacements): string; } export declare const AppContextContext: React.Context; export interface Props extends Context { children?: ReactNode; } export declare function AppContext({ children, linkComponent, geolocation, translate, }: Props): JSX.Element; export declare function useAppContext(): Context; export declare function useTranslate(): (key: TranslationKey, replacements?: SimpleInterpolationReplacements | undefined) => string; export declare function useLinkComponent(): React.ComponentClass | React.FunctionComponent | undefined; export declare function useGeolocation(): Geolocation | undefined;