import { PayloadAction, ThunkDispatch, AnyAction, Dispatch } from '@reduxjs/toolkit';
import { ResourceUIState } from '../../../../common/types/resource-ui-state';
import type { Cluster } from '@openshift-assisted/types/assisted-installer-service';
export declare const fetchClustersAsync: import("@reduxjs/toolkit").AsyncThunk<void | Cluster[], void, {
    state?: unknown;
    dispatch?: Dispatch;
    extra?: unknown;
    rejectValue?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
type ClustersStateSlice = {
    data: Cluster[];
    uiState: ResourceUIState;
};
export type ClustersDispatch = ThunkDispatch<ClustersStateSlice, undefined, AnyAction> & Dispatch;
export declare const clustersSlice: import("@reduxjs/toolkit").Slice<ClustersStateSlice, {
    deleteCluster: (state: import("immer/dist/internal").WritableDraft<ClustersStateSlice>, action: PayloadAction<Cluster["id"]>) => {
        data: import("immer/dist/internal").WritableDraft<Cluster>[];
        uiState: ResourceUIState;
    };
}, "clusters">;
export declare const deleteCluster: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "clusters/deleteCluster">;
export declare const clustersReducer: import("redux").Reducer<ClustersStateSlice>;
export {};
//# sourceMappingURL=slice.d.ts.map