import type { PayloadAction } from '@reduxjs/toolkit';
import type { ApiModel, SpecList } from '@looker/sdk-codegen';
export interface SpecState {
    specs: SpecList;
    currentSpecKey: string;
    error?: Error;
    working: boolean;
    description?: string;
}
export declare const defaultSpecsState: SpecState;
export interface InitSpecsAction {
    specKey: string | null;
}
export interface InitSpecsSuccessPayload {
    specs: SpecList;
    currentSpecKey: string;
}
export interface SetCurrentSpecAction {
    currentSpecKey: string;
}
interface SetCurrentSpecSuccessAction {
    api: ApiModel;
    currentSpecKey: string;
}
export declare const specsSlice: import("@reduxjs/toolkit").Slice<SpecState, {
    initSpecsAction(state: import("immer/dist/internal").WritableDraft<SpecState>, _action: PayloadAction<InitSpecsAction>): void;
    initSpecsSuccessAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<InitSpecsSuccessPayload>): void;
    initSpecsFailureAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<Error>): void;
    setCurrentSpecAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<SetCurrentSpecAction>): void;
    setCurrentSpecSuccessAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<SetCurrentSpecSuccessAction>): void;
    setCurrentSpecFailureAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<Error>): void;
}, "specs">;
export declare const specActions: import("@reduxjs/toolkit").CaseReducerActions<{
    initSpecsAction(state: import("immer/dist/internal").WritableDraft<SpecState>, _action: PayloadAction<InitSpecsAction>): void;
    initSpecsSuccessAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<InitSpecsSuccessPayload>): void;
    initSpecsFailureAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<Error>): void;
    setCurrentSpecAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<SetCurrentSpecAction>): void;
    setCurrentSpecSuccessAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<SetCurrentSpecSuccessAction>): void;
    setCurrentSpecFailureAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<Error>): void;
}>;
export declare const useSpecActions: () => import("@reduxjs/toolkit").CaseReducerActions<{
    initSpecsAction(state: import("immer/dist/internal").WritableDraft<SpecState>, _action: PayloadAction<InitSpecsAction>): void;
    initSpecsSuccessAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<InitSpecsSuccessPayload>): void;
    initSpecsFailureAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<Error>): void;
    setCurrentSpecAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<SetCurrentSpecAction>): void;
    setCurrentSpecSuccessAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<SetCurrentSpecSuccessAction>): void;
    setCurrentSpecFailureAction(state: import("immer/dist/internal").WritableDraft<SpecState>, action: PayloadAction<Error>): void;
}>, useSpecStoreState: () => SpecState;
export {};
