import React, { Component, ReactChild } from 'react';
export interface RenderableValues {
    [key: string]: ReactChild;
}
export declare type Renderable<T> = ReactChild | ((values: T) => ReactChild);
export interface I18nShape {
    mapping?: {
        [key: string]: Renderable<object>;
    };
    mappingFunc?: (value: string) => string;
    formatNumber?: (x: number) => string;
    formatDateTime?: (x: Date) => string;
}
declare const SoftI18nConsumer: React.ComponentType<React.ConsumerProps<I18nShape>>;
declare class SoftContext extends Component<{
    i18n: {};
    children: any;
}> {
    static defaultProps: {
        i18n: {};
    };
    render(): JSX.Element;
}
export { SoftContext, SoftI18nConsumer };
