import type { IConfig } from "configcat-common";
import { PollingMode } from "configcat-common";
import React, { Component, type PropsWithChildren } from "react";
import { type ConfigCatContextData } from "./ConfigCatContext";
import type { IReactAutoPollOptions, IReactLazyLoadingOptions, IReactManualPollOptions } from ".";
type ConfigCatProviderProps = {
    sdkKey: string;
    pollingMode?: PollingMode;
    options?: IReactAutoPollOptions | IReactLazyLoadingOptions | IReactManualPollOptions;
    id?: string;
};
type ConfigCatProviderState = ConfigCatContextData;
declare class ConfigCatProvider extends Component<PropsWithChildren<ConfigCatProviderProps>, ConfigCatProviderState, {}> {
    private configChangedHandler?;
    constructor(props: ConfigCatProviderProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    private initializeConfigCatClient;
    reactConfigChanged(_newConfig: IConfig): void;
    clientReady(): void;
    render(): React.JSX.Element;
}
export declare function createConfigCatProviderError(methodName: string, providerId?: string): Error;
export default ConfigCatProvider;
//# sourceMappingURL=ConfigCatProvider.d.ts.map