/*
 * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3 as published by
 * the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import { DetailedItem } from '../../models/Item';
import { AjaxError } from 'rxjs/ajax';
import { GetChildrenResponse } from '../../models/GetChildrenResponse';
import { GetChildrenOptions } from '../../models/GetChildrenOptions';
import LookupTable from '../../models/LookupTable';
import SystemType from '../../models/SystemType';
import SimpleAjaxError from '../../models/SimpleAjaxError';
type PayloadWithId<P> = P & {
  id: string;
};
export declare const pathNavigatorTreeInit: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    rootPath: string;
    collapsed?: boolean;
    excludes?: string[];
    limit: number;
    expanded?: string[];
    systemTypes?: SystemType[];
    sortStrategy?: GetChildrenOptions['sortStrategy'];
    order?: GetChildrenOptions['order'];
    keywordByPath: LookupTable<string>;
  }>,
  string
>;
export declare const pathNavigatorTreeRefresh: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    id: string;
  },
  string
>;
export declare const pathNavigatorTreeBackgroundRefresh: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    id: string;
  },
  string
>;
export declare const pathNavigatorTreeBulkRefresh: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    requests: PayloadWithId<{
      backgroundRefresh?: boolean;
    }>[];
  },
  string
>;
export declare const pathNavigatorTreeRestore: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    id: string;
  },
  string
>;
export type PathNavigatorTreeRestoreCompletePayload = PayloadWithId<{
  expanded: string[];
  collapsed: boolean;
  items: DetailedItem[];
  children: LookupTable<GetChildrenResponse>;
}>;
export declare const pathNavigatorTreeRestoreComplete: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PathNavigatorTreeRestoreCompletePayload,
  string
>;
export declare const pathNavigatorTreeBulkRestoreComplete: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    trees: PathNavigatorTreeRestoreCompletePayload[];
  },
  string
>;
export declare const pathNavigatorTreeRestoreFailed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    id: string;
    error: Omit<AjaxError, 'request' | 'xhr'>;
  },
  string
>;
export declare const pathNavigatorTreeBulkRestoreFailed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    ids: string[];
    error: Omit<AjaxError, 'request' | 'xhr'>;
  },
  string
>;
export declare const pathNavigatorTreeExpandPath: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    path: string;
  }>,
  string
>;
export declare const pathNavigatorTreeCollapsePath: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    path: string;
  }>,
  string
>;
export declare const pathNavigatorTreeSetKeyword: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    keyword: string;
    path: string;
  }>,
  string
>;
export declare const pathNavigatorTreeToggleCollapsed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    collapsed: boolean;
  }>,
  string
>;
export declare const pathNavigatorTreeFetchPathPage: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    path: string;
    options?: Partial<GetChildrenOptions>;
  }>,
  string
>;
export declare const pathNavigatorTreeFetchPathPageComplete: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    children: GetChildrenResponse;
    parentPath: string;
    options?: Partial<GetChildrenOptions>;
  }>,
  string
>;
export declare const pathNavigatorTreeFetchPathPageFailed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    id: string;
    error: Omit<AjaxError, 'request' | 'xhr'>;
  },
  string
>;
export type PathNavTreeFetchPathChildrenPayload = PayloadWithId<{
  path: string;
  options?: Partial<GetChildrenOptions>;
  expand?: boolean;
}>;
export declare const pathNavigatorTreeFetchPathChildren: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PathNavTreeFetchPathChildrenPayload,
  string
>;
export type PathNavTreeBulkFetchPathChildrenPayload = {
  requests: Array<PathNavTreeFetchPathChildrenPayload>;
};
export declare const pathNavigatorTreeBulkFetchPathChildren: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PathNavTreeBulkFetchPathChildrenPayload,
  string
>;
export declare const pathNavigatorTreeFetchPathChildrenComplete: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    children: GetChildrenResponse;
    parentPath: string;
    options?: Partial<GetChildrenOptions>;
  }>,
  string
>;
export type PathNavTreeBulkFetchPathChildrenCompletePayload = {
  paths: PayloadWithId<{
    children: GetChildrenResponse;
    parentPath: string;
    options?: Partial<GetChildrenOptions>;
  }>[];
};
export declare const pathNavigatorTreeBulkFetchPathChildrenComplete: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PathNavTreeBulkFetchPathChildrenCompletePayload,
  string
>;
export declare const pathNavigatorTreeFetchPathChildrenFailed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    id: string;
    path: string;
    error: SimpleAjaxError;
  },
  string
>;
export declare const pathNavigatorTreeBulkFetchPathChildrenFailed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    ids: string[];
    error: Omit<AjaxError, 'request' | 'xhr'>;
  },
  string
>;
export declare const pathNavigatorTreeUpdate: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PayloadWithId<{
    expanded?: string[];
    collapsed?: boolean;
    items?: DetailedItem[];
    data?: LookupTable<GetChildrenResponse>;
    sortStrategy?: GetChildrenOptions['sortStrategy'];
    order?: GetChildrenOptions['order'];
  }>,
  string
>;
export declare const pathNavigatorTreeRootMissing: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    id: string;
  },
  string
>;
export {};
