import { type Slice } from "@reduxjs/toolkit";
/**
 * Structural shape of TopBannerProps. Mirrors `@iblai/web-containers`
 * `<TopBanner>` so this slice can be consumed without taking a circular
 * dependency on the web-containers package.
 */
export interface TopBannerOptions {
    parentContainerSelector: string;
    bannerText?: string;
    loading?: boolean;
    tooltipText?: string;
    buttonHandler?: () => void;
    buttonLabel?: string;
    onLoad?: (bannerRef: HTMLDivElement) => void;
    onClose?: () => void;
    enabled: boolean;
    onUpgrade?: string;
}
export interface TopBannerState {
    topBannerOptions: TopBannerOptions;
}
export declare const topBannerSlice: Slice<TopBannerState>;
export declare const setTopBannerOptions: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload<any, `${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, never> | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, any> | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, never> | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, any>;
export declare const topBannerReducer: import("@reduxjs/toolkit").Reducer<TopBannerState>;
