import ResourceJSON from '../../backend/decorators/resource-json.interface';
import { BrandingOptions, VersionProps, AdminPage } from '../../admin-bro-options.interface';
import { CurrentAdmin } from '../../current-admin.interface';
import { NoticeMessage } from './with-notice';
import PageJSON from '../../backend/decorators/page-json.interface';
export declare const initializePages: (data: AdminPage[]) => {
    type: string;
    data: AdminPage[];
};
export declare const initializeResources: (data: ResourceJSON[]) => {
    type: string;
    data: ResourceJSON[];
};
export declare type DashboardInState = {
    component?: string;
};
export declare const initializeDashboard: (data: DashboardInState) => {
    type: string;
    data: DashboardInState;
};
export declare const initializeBranding: (data: BrandingOptions) => {
    type: string;
    data: BrandingOptions;
};
export declare const initializePaths: (data: Paths) => {
    type: string;
    data: Paths;
};
export declare const initializeVersions: (data: VersionProps) => {
    type: string;
    data: VersionProps;
};
export declare const initializeSession: (data?: {}) => {
    type: string;
    data: {};
};
export declare type NoticeMessageInState = NoticeMessage & {
    message: string;
    id: string;
    type: NoticeMessage['type'];
    progress: number;
};
export declare type Paths = {
    rootPath: string;
    logoutPath: string;
    loginPath: string;
};
export declare const addNotice: (data?: NoticeMessage) => {
    type: string;
    data: NoticeMessageInState;
};
export declare const setNoticeProgress: ({ noticeId, progress }: {
    noticeId: string;
    progress: number;
}) => {
    type: string;
    data: {
        noticeId: string;
        progress: number;
    };
};
export declare const dropNotice: (noticeId: string) => {
    type: string;
    data: {
        noticeId: string;
    };
};
export declare type ReduxState = {
    resources: Array<ResourceJSON>;
    branding: BrandingOptions;
    paths: Paths;
    session: CurrentAdmin | null;
    dashboard: DashboardInState;
    notices: Array<NoticeMessageInState>;
    versions: VersionProps;
    pages: Array<PageJSON>;
};
declare const _default: (initialState?: {}) => import("redux").Store<import("redux").CombinedState<ReduxState>, import("redux").AnyAction>;
export default _default;
