import * as State from "./types/State";
import { Context, InsertFilesTypes } from "~/types/Context";
import { Translator } from "~/locale/useTranslation";
import { Item } from "./types/types";
import { Item as ApiItem } from "../types/Api";
import { SelectedFile } from "./types/Api";
export type ReadyOrBulkOrInsert = State.Ready | State.BulkSelectReady | State.InsertFromReady | State.InsertFromBulkSelectReady;
export declare const isReadyOrBulkOrInsert: (v: State.State) => v is State.Ready | State.BulkSelectReady | State.InsertFromReady | State.InsertFromBulkSelectReady;
type NothingOrBulk = State.NothingSelected | State.BulkSelectNothing;
type MultipleBulkSelect = State.BulkSelectMultiple | State.InsertFromBulkSelectMultiple;
export declare const isMultipleBulkSelect: (v: State.State) => v is State.BulkSelectMultiple | State.InsertFromBulkSelectMultiple;
export declare const isReadyOrMultiple: (v: State.State) => v is State.Ready | State.BulkSelectReady | State.BulkSelectMultiple;
type ReadyOrMultipleInsert = State.InsertFromBulkSelectMultiple | State.InsertFromReady | State.InsertFromBulkSelectReady;
export declare const isReadyOrMultipleInsert: (v: State.State) => v is State.InsertFromReady | State.InsertFromBulkSelectReady | State.InsertFromBulkSelectMultiple;
type ReadyOrNothing = State.NothingSelected | State.Ready;
export declare const isReadyOrNothing: (v: State.State) => v is State.Ready | State.NothingSelected;
type BulkReadyOrNothingOrMultiple = State.BulkSelectNothing | State.BulkSelectReady | State.BulkSelectMultiple;
export declare const isBulkSelected: (v: State.State) => v is State.BulkSelectReady | State.BulkSelectNothing | State.BulkSelectMultiple;
export declare const isBulkSelectedOrInsert: (v: State.State) => v is State.BulkSelectReady | State.BulkSelectNothing | State.BulkSelectMultiple | State.InsertFromBulkSelectReady | State.InsertFromBulkSelectMultiple;
export declare const isReadyOrNothingOrBulk: (v: State.State) => v is State.Ready | State.NothingSelected | State.BulkSelectReady | State.BulkSelectNothing | State.BulkSelectMultiple;
type NothingSelected = State.Init | NothingOrBulk;
export declare const isNothingSelected: (v: State.State) => v is State.Init | State.NothingSelected | State.BulkSelectNothing;
export type WithContent = ReadyOrNothing | BulkReadyOrNothingOrMultiple | ReadyOrMultipleInsert;
export declare const isWithContent: (v: State.State) => v is State.Ready | State.NothingSelected | State.BulkSelectReady | State.BulkSelectNothing | State.BulkSelectMultiple | State.InsertFromReady | State.InsertFromBulkSelectReady | State.InsertFromBulkSelectMultiple;
export type SidebarState = ReadyOrBulkOrInsert | NothingSelected | MultipleBulkSelect;
export declare const isSidebarState: (v: State.State) => v is State.Init | State.Ready | State.NothingSelected | State.BulkSelectReady | State.BulkSelectNothing | State.BulkSelectMultiple | State.InsertFromReady | State.InsertFromBulkSelectReady | State.InsertFromBulkSelectMultiple;
export declare const isBulkNothingOrMultiple: (v: State.State) => v is State.BulkSelectNothing | State.BulkSelectMultiple | State.InsertFromBulkSelectMultiple;
export declare const disabled: (s: State.State) => {
    cancel: boolean;
    delete: boolean;
    preview: boolean;
    insertFiles: boolean;
};
export declare const getErrorText: (t: Translator, items: Item[], insertFilesType: InsertFilesTypes) => string;
export declare const goToInsertFilesOrImportToML: (c: Context, t: Translator, s: ReadyOrMultipleInsert, items: Item[], data: (ApiItem | string)[]) => import("rxjs").Observable<import("redux").Action<any>>;
export declare const getDimensions: ({ width, height }: SelectedFile) => string | undefined;
export declare const getUrlForFetch: ({ urls, width, height }: SelectedFile) => string;
export {};
