import { List } from "immutable";
import { C } from '../react_monad/core';
export declare type EditableListState = {
items: List;
selected_index: undefined | number;
};
export declare type ListOperation = {
kind: "add";
value: A;
} | {
kind: "remove";
value: A;
index: number;
} | {
kind: "toggle";
value: A;
index: number;
selected: boolean;
};
export declare let editable_list: (list_name: string, initial_items: C>, create_new_form: (_: EditableListState) => C) => C>;