import type { PayloadAction, SerializedError } from '@reduxjs/toolkit';
import type { StateSliceWithMeta } from '../../types/state-slice';
import type { FeatureListType } from '../../../../common/features/featureGate';
declare const featureFlagsAsyncActions: {
    detectFeaturesAsync: import("@reduxjs/toolkit").AsyncThunk<void, FeatureListType | null, {
        state?: unknown;
        dispatch?: import("redux").Dispatch;
        extra?: unknown;
        rejectValue?: unknown;
        serializedErrorType?: unknown;
        pendingMeta?: unknown;
        fulfilledMeta?: unknown;
        rejectedMeta?: unknown;
    }>;
};
type AsyncThunkActions = (typeof featureFlagsAsyncActions)[keyof typeof featureFlagsAsyncActions];
type FeatureFlagsAsyncThunkActionCreators = ReturnType<AsyncThunkActions['pending']> | ReturnType<AsyncThunkActions['fulfilled']> | ReturnType<AsyncThunkActions['rejected']>;
export type FeatureFlagsState = StateSliceWithMeta<FeatureListType, SerializedError | null>;
declare const featureFlagsActions: import("@reduxjs/toolkit").CaseReducerActions<{
    setMeta: (state: import("immer/dist/internal").WritableDraft<FeatureFlagsState>, action: PayloadAction<FeatureFlagsAsyncThunkActionCreators>) => import("immer/dist/internal").WritableDraft<FeatureFlagsState>;
    setFeatureFlag: (state: import("immer/dist/internal").WritableDraft<FeatureFlagsState>, action: PayloadAction<{
        featureId: keyof FeatureListType;
        isEnabled: boolean;
    }>) => import("immer/dist/internal").WritableDraft<FeatureFlagsState>;
}, "featureFlags">;
declare const featureFlagsReducer: import("redux").Reducer<FeatureFlagsState>;
export { featureFlagsAsyncActions, featureFlagsActions, featureFlagsReducer };
//# sourceMappingURL=slice.d.ts.map