import { Square } from '@hackforplay/next';
import { Selection, Pos } from '../utils/selection';
export declare const actions: {
    mousedown: {
        (payload: Square, meta?: {
            [key: string]: any;
        } | null | undefined): import("typescript-fsa").Action<Square>;
        type: string;
        match: (action: import("typescript-fsa").AnyAction) => action is import("typescript-fsa").Action<Square>;
    };
    startSelection: {
        (payload: Pos, meta?: {
            [key: string]: any;
        } | null | undefined): import("typescript-fsa").Action<Pos>;
        type: string;
        match: (action: import("typescript-fsa").AnyAction) => action is import("typescript-fsa").Action<Pos>;
    };
    updateSelection: {
        (payload: Pos, meta?: {
            [key: string]: any;
        } | null | undefined): import("typescript-fsa").Action<Pos>;
        type: string;
        match: (action: import("typescript-fsa").AnyAction) => action is import("typescript-fsa").Action<Pos>;
    };
    confirmSelection: import("typescript-fsa").ActionCreator<void>;
    setSelection: {
        (payload: Selection | null, meta?: {
            [key: string]: any;
        } | null | undefined): import("typescript-fsa").Action<Selection | null>;
        type: string;
        match: (action: import("typescript-fsa").AnyAction) => action is import("typescript-fsa").Action<Selection | null>;
    };
    addTileset: {
        (payload: Square[], meta?: {
            [key: string]: any;
        } | null | undefined): import("typescript-fsa").Action<Square[]>;
        type: string;
        match: (action: import("typescript-fsa").AnyAction) => action is import("typescript-fsa").Action<Square[]>;
    };
    setTilesetMap: {
        (payload: {
            [key: number]: Square;
        }, meta?: {
            [key: string]: any;
        } | null | undefined): import("typescript-fsa").Action<{
            [key: number]: Square;
        }>;
        type: string;
        match: (action: import("typescript-fsa").AnyAction) => action is import("typescript-fsa").Action<{
            [key: number]: Square;
        }>;
    };
};
export interface State {
    tileSet: Square[];
    tileSetMap: {
        [key: number]: Square;
    };
    selection: Selection | null;
}
declare const _default: import("typescript-fsa-reducers").ReducerBuilder<State, State>;
export default _default;
export declare const epics: import("redux-observable").Epic<import("typescript-fsa").Action<any>, import("typescript-fsa").Action<any>, import(".").Store, void>;
