import { List } from "immutable";
import * as I from "../index";
export interface Book {
    readonly title: string;
    readonly price: number;
    readonly authors: List<string>;
}
export declare namespace Book {
    const title: I.ReferenceDefinition<"TITLE", Book, string, I.Action<"REPLACE", string>>;
    const setTitle: I.ActionCreator<Book, "SET_TITLE", string>;
    const setPrice: I.ActionCreator<Book, "SET_PRICE", number>;
    const addAuthor: I.ActionCreator<Book, "ADD_AUTHOR", string>;
    const empty: Book;
    const reduce: I.Reducer<Book, I.Action<"TITLE", I.Action<"REPLACE", string>> | I.Action<"SET_TITLE", string> | I.Action<"SET_PRICE", number> | I.Action<"ADD_AUTHOR", string>>;
}
