import type { Config, IAutoPollOptions, ILazyLoadingOptions, IManualPollOptions } from "@configcat/sdk"; import { PollingMode } from "@configcat/sdk"; import React, { Component, type PropsWithChildren } from "react"; import { type ConfigCatContextData } from "./ConfigCatContext"; /** Options used to configure the ConfigCat SDK in the case of Auto Polling mode. */ export type IReactAutoPollOptions = IAutoPollOptions; /** Options used to configure the ConfigCat SDK in the case of Lazy Loading mode. */ export type IReactLazyLoadingOptions = ILazyLoadingOptions; /** Options used to configure the ConfigCat SDK in the case of Manual Polling mode. */ export type IReactManualPollOptions = IManualPollOptions; type ConfigCatProviderProps = { sdkKey: string; pollingMode?: PollingMode; options?: IReactAutoPollOptions | IReactLazyLoadingOptions | IReactManualPollOptions; id?: string; }; type ConfigCatProviderState = ConfigCatContextData; declare class ConfigCatProvider extends Component, ConfigCatProviderState, {}> { private configChangedHandler?; constructor(props: ConfigCatProviderProps); componentDidMount(): void; componentWillUnmount(): void; private initializeConfigCatClient; reactConfigChanged(_newConfig: Config): void; clientReady(): void; render(): React.JSX.Element; } export declare function createConfigCatProviderError(methodName: string, providerId?: string): Error; export default ConfigCatProvider;