import React from "react"; import { ReconfigureAdapter, TToggleFeatureProps, useAdapterReconfiguration } from "@flopflip/react"; import { TAdapter, TAdapterArgs, TAdapterIdentifiers, TAdaptersStatus, TConfigureAdapterChildren, TConfigureAdapterProps, TFlagName, TFlagVariation, TFlags, TFlagsContext } from "@flopflip/types"; import { Reducer, Store, StoreEnhancerStoreCreator } from "redux"; //#region src/branch-on-feature-toggle.d.ts type TBranchOnFeatureToggleOptions = { flag: TFlagName; variation?: TFlagVariation; }; declare function branchOnFeatureToggle>({ flag: flagName, variation: flagVariation }: TBranchOnFeatureToggleOptions, UntoggledComponent?: React.ComponentType): (ToggledComponent: React.ComponentType) => (ownProps: OwnProps) => React.JSX.Element | null; //#endregion //#region src/configure.d.ts type TBaseProps = { readonly children?: TConfigureAdapterChildren; readonly shouldDeferAdapterConfiguration?: boolean; readonly defaultFlags?: TFlags; }; type TProps$1 = TBaseProps & TConfigureAdapterProps; declare function Configure({ adapter, adapterArgs, children, defaultFlags, shouldDeferAdapterConfiguration }: TProps$1): React.JSX.Element; declare namespace Configure { var displayName: string; } //#endregion //#region src/constants.d.ts declare const STATE_SLICE = "@flopflip"; //#endregion //#region src/types.d.ts type TState = { [STATE_SLICE]: { flags?: TFlagsContext; status?: TAdaptersStatus; }; }; //#endregion //#region src/ducks/flags.d.ts declare const selectFlags: () => (state: TState) => TFlagsContext; declare const selectFlag: (flagName: TFlagName, adapterIdentifiers: TAdapterIdentifiers[]) => (state: TState) => TFlagVariation; //#endregion //#region src/ducks/index.d.ts declare const flopflipReducer: import("redux").Reducer<{ flags: TFlagsContext; status: import("@flopflip/types").TAdaptersStatus; }, import("redux").UnknownAction, Partial<{ flags: TFlagsContext | undefined; status: import("@flopflip/types").TAdaptersStatus | undefined; }>>; declare const createFlopflipReducer: (preloadedState?: TFlagsContext) => import("redux").Reducer<{ flags: TFlagsContext; status: import("@flopflip/types").TAdaptersStatus; }, import("redux").UnknownAction | { payload: { id?: import("@flopflip/types").TAdapterIdentifiers; flags: import("@flopflip/types").TFlags; adapterIdentifiers: string[]; }; type: "flags/updateFlags"; }, Partial<{ flags: never; status: import("@flopflip/types").TAdaptersStatus | undefined; }>>; //#endregion //#region src/enhancer.d.ts declare function createFlopFlipEnhancer(adapter: TAdapter, adapterArgs: TAdapterArgs): (next: StoreEnhancerStoreCreator) => (reducer: Reducer, preloadedState?: StoreState) => Store; //#endregion //#region src/inject-feature-toggle.d.ts type InjectedProps$1 = Record; declare const injectFeatureToggle: >(flagName: TFlagName, propKey?: string) => (Component: React.ComponentType) => React.ComponentType; //#endregion //#region src/inject-feature-toggles.d.ts type InjectedProps = Record; declare const injectFeatureToggles: >(flagNames: TFlagName[], propKey?: string) => (Component: React.ComponentType) => React.ComponentType; //#endregion //#region src/toggle-feature.d.ts type TProps = { flag: TFlagName; variation?: TFlagVariation; } & Omit; declare function ToggleFeature({ flag, variation, ...remainingProps }: OwnProps): React.JSX.Element; declare namespace ToggleFeature { var displayName: string; } //#endregion //#region src/use-adapter-status.d.ts type TUseAdapterStatusArgs = { adapterIdentifiers?: TAdapterIdentifiers[]; }; declare function useAdapterStatus({ adapterIdentifiers }?: TUseAdapterStatusArgs): { isReady: boolean; isUnconfigured: boolean; isConfiguring: boolean; isConfigured: boolean; }; //#endregion //#region src/use-all-feature-toggles.d.ts declare function useAllFeatureToggles(): TFlags; //#endregion //#region src/use-feature-toggle.d.ts declare function useFeatureToggle(flagName: TFlagName, flagVariation?: TFlagVariation): boolean; //#endregion //#region src/use-feature-toggles.d.ts declare function useFeatureToggles(flags: TFlags): boolean[]; //#endregion //#region src/use-flag-variation.d.ts declare function useFlagVariation(flagName?: TFlagName): TFlagVariation; //#endregion //#region src/use-flag-variations.d.ts declare function useFlagVariations(flagNames: (TFlagName | undefined)[]): TFlagVariation[]; //#endregion //#region src/index.d.ts declare const version = "__@FLOPFLIP/VERSION_OF_RELEASE__"; //#endregion export { Configure as ConfigureFlopFlip, STATE_SLICE as FLOPFLIP_STATE_SLICE, ReconfigureAdapter as ReconfigureFlopFlip, ToggleFeature, branchOnFeatureToggle, createFlopFlipEnhancer, createFlopflipReducer, flopflipReducer, injectFeatureToggle, injectFeatureToggles, selectFlag as selectFeatureFlag, selectFlags as selectFeatureFlags, useAdapterReconfiguration, useAdapterStatus, useAllFeatureToggles, useFeatureToggle, useFeatureToggles, useFlagVariation, useFlagVariations, version }; //# sourceMappingURL=index.d.ts.map