import { ReactNode } from 'react';
import { Analytics } from '../../variables/analytics';
import { Brand } from '../../variables/brand.native';
import { Theme } from '../../variables/theme.native';
import { Translations } from '../../variables/default-mobile-translations';
import { Vibration } from '../../variables/vibration';
export declare type HandleBlur = () => void;
export declare type HandleFocus = (id: string) => () => void;
export declare type FocusedSelectId = string | null;
export declare type TemplateContextValues = {
    analytics?: Analytics;
    brandTheme: Brand;
    theme: Theme;
    translations: Translations;
    vibration?: Vibration;
    display: {
        headerHeight: number;
        statusBarHeight: number;
    };
    store: {
        focusedSelectId?: FocusedSelectId;
        handleBlur?: HandleBlur;
        handleFocus?: HandleFocus;
    };
    translate: (key: string, data?: Record<string, string>) => string;
};
declare type Props = {
    values: TemplateContextValues;
    children: ReactNode;
};
declare const useTemplateContext: () => TemplateContextValues;
declare const TemplateContext: ({ values, children }: Props) => JSX.Element;
export { TemplateContext, useTemplateContext };
//# sourceMappingURL=template-context.d.ts.map