import * as React from 'react';
import EASDK from './EASDK';
import { LinkLikeComponent } from '../UnstyledLink';
import Intl from './Intl';
import Link from './Link';
import StickyManager from './StickyManager';
import { TranslationDictionary } from './types';
export interface Props {
    /** A locale object or array of locale objects that overrides default translations */
    i18n?: TranslationDictionary | TranslationDictionary[];
    /** A custom component to use for all links used by Polaris components */
    linkComponent?: LinkLikeComponent;
    /** The API key for your application from the Partner dashboard */
    apiKey?: string;
    /** The current shop’s origin, provided in the session from the Shopify API */
    shopOrigin?: string;
    /** Forces a redirect to the relative admin path when not rendered in an iframe */
    forceRedirect?: boolean;
    /** Prints logs of each message passed through the EASDK */
    debug?: boolean;
}
export interface Context {
    polaris: {
        intl: Intl;
        link: Link;
        stickyManager: StickyManager;
    };
    easdk?: EASDK;
}
export default class AppProvider extends React.Component<Props> {
    static childContextTypes: React.ValidationMap<any>;
    polarisContext: Context;
    private stickyManager;
    constructor(props: Props);
    componentDidMount(): void;
    componentWillReceiveProps({ i18n, linkComponent, apiKey, shopOrigin, forceRedirect, debug, }: Props): void;
    getChildContext(): Context;
    render(): React.ReactElement<any>;
}
