import type { PayloadAction } from '@reduxjs/toolkit';
import type { ITheme } from '@looker/sdk';
export interface ThemesState {
    defaultTheme: ITheme;
    themes: ITheme[];
    selectedTheme: ITheme;
    initialized: boolean;
    error?: string;
    working: boolean;
}
export declare const defaultThemesState: ThemesState;
export type SelectThemeAction = Record<'key', string>;
type SelectThemeSuccessAction = Pick<ThemesState, 'selectedTheme'>;
type SetFailureAction = Record<'error', string>;
type LoadThemeDataSuccessAction = Pick<ThemesState, 'defaultTheme' | 'themes' | 'selectedTheme'>;
export declare const THEMES_SLICE_NAME = "themes";
export declare const themesSlice: import("@reduxjs/toolkit").Slice<ThemesState, {
    initAction(): void;
    initSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
    loadThemeDataAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
    loadThemeDataSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<LoadThemeDataSuccessAction>): void;
    selectThemeAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, _action: PayloadAction<SelectThemeAction>): void;
    selectThemeSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SelectThemeSuccessAction>): void;
    setFailureAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SetFailureAction>): void;
}, "themes">;
export declare const themeActions: import("@reduxjs/toolkit").CaseReducerActions<{
    initAction(): void;
    initSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
    loadThemeDataAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
    loadThemeDataSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<LoadThemeDataSuccessAction>): void;
    selectThemeAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, _action: PayloadAction<SelectThemeAction>): void;
    selectThemeSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SelectThemeSuccessAction>): void;
    setFailureAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SetFailureAction>): void;
}, "themes">;
export declare const useThemeActions: () => import("@reduxjs/toolkit").CaseReducerActions<{
    initAction(): void;
    initSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
    loadThemeDataAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
    loadThemeDataSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<LoadThemeDataSuccessAction>): void;
    selectThemeAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, _action: PayloadAction<SelectThemeAction>): void;
    selectThemeSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SelectThemeSuccessAction>): void;
    setFailureAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SetFailureAction>): void;
}>, useThemesStoreState: () => ThemesState;
export {};
