import { Option } from '@fable-org/fable-library-js/Option.js';
import { int32 } from '@fable-org/fable-library-js/Int32.js';
import { FSharpSet } from '@fable-org/fable-library-js/Set.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
export type GridSelectModule_Kbd = "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight";
export declare function GridSelectModule_Kbd_tryFromKey_Z721C83C5(key: string): Option<GridSelectModule_Kbd>;
export declare function GridSelectModule_Kbd_fromKey_Z721C83C5(key: string): GridSelectModule_Kbd;
export declare function GridSelectModule_SelectedCellRange_make<$a, $b, $c, $d>(xStart: $a, yStart: $b, xEnd: $c, yEnd: $d): {
    xEnd: $c;
    xStart: $a;
    yEnd: $d;
    yStart: $b;
};
export declare function GridSelectModule_SelectedCellRange_create<$a, $b, $c, $d>(xStart: $a, yStart: $b, xEnd: $c, yEnd: $d): {
    xEnd: $c;
    xStart: $a;
    yEnd: $d;
    yStart: $b;
};
export declare function GridSelectModule_SelectedCellRange_singleton(cell: {
    x: int32;
    y: int32;
}): {
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
};
export declare function GridSelectModule_SelectedCellRange_toReducedSet(range: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>): FSharpSet<{
    x: int32;
    y: int32;
}>;
export declare function GridSelectModule_SelectedCellRange_fromSet(selectedCells: FSharpSet<{
    x: int32;
    y: int32;
}>): Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>;
export declare function GridSelectModule_SelectedCellRange_count(selectedCellRange: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>): int32;
export declare function GridSelectModule_SelectedCellRange_toString(range: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>): string;
export declare class GridSelect {
    "Origin@": Option<{
        x: int32;
        y: int32;
    }>;
    "LastAppend@": Option<{
        x: int32;
        y: int32;
    }>;
    constructor();
}
export declare function GridSelect_$reflection(): TypeInfo;
export declare function GridSelect_$ctor(): GridSelect;
export declare function GridSelect__get_Origin(__: GridSelect): Option<{
    x: int32;
    y: int32;
}>;
export declare function GridSelect__set_Origin_75FBA3FA(__: GridSelect, v: Option<{
    x: int32;
    y: int32;
}>): void;
export declare function GridSelect__get_LastAppend(__: GridSelect): Option<{
    x: int32;
    y: int32;
}>;
export declare function GridSelect__set_LastAppend_75FBA3FA(__: GridSelect, v: Option<{
    x: int32;
    y: int32;
}>): void;
export declare function GridSelect__SelectBy_65E00AD4(this$: GridSelect, e: KeyboardEvent, selectedCells: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>, setter: ((arg0: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>) => void), maxRow: int32, maxCol: int32, minRow: Option<int32>, minCol: Option<int32>, onSelect: Option<((arg0: {
    x: int32;
    y: int32;
}, arg1: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>) => void)>): boolean;
export declare function GridSelect__SelectBy_Z7448804D(this$: GridSelect, kbd: GridSelectModule_Kbd, jump: boolean, isAppend: boolean, selectedCells: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>, setter: ((arg0: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>) => void), maxRow: int32, maxCol: int32, minRow: Option<int32>, minCol: Option<int32>, onSelect: Option<((arg0: {
    x: int32;
    y: int32;
}, arg1: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>) => void)>): void;
export declare function GridSelect__SelectAt_53B3F404(this$: GridSelect, nextIndex: {
    x: int32;
    y: int32;
}, isAppend: boolean, selectedCellRange: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>, setter: ((arg0: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>) => void), onSelect: Option<((arg0: {
    x: int32;
    y: int32;
}, arg1: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>) => void)>): void;
export declare function GridSelect__Clear(this$: GridSelect): void;
export declare function useFeliz_React__React_useGridSelect_Static_4CE412FE(rowCount: int32, columnCount: int32, minRow?: int32, minCol?: int32, onSelect?: ((arg0: {
    x: int32;
    y: int32;
}, arg1: Option<{
    xEnd: int32;
    xStart: int32;
    yEnd: int32;
    yStart: int32;
}>) => void), seed?: {
    x: int32;
    y: int32;
}[]): {
    SelectOrigin?: {
        x: int32;
        y: int32;
    };
    clear: (() => void);
    contains: ((arg0: {
        x: int32;
        y: int32;
    }) => boolean);
    count: int32;
    lastAppend?: {
        x: int32;
        y: int32;
    };
    selectAt: ((arg0: [{
        x: int32;
        y: int32;
    }, boolean]) => void);
    selectBy: ((arg0: KeyboardEvent) => boolean);
    selectedCells?: {
        xEnd: int32;
        xStart: int32;
        yEnd: int32;
        yStart: int32;
    };
    selectedCellsReducedSet: FSharpSet<{
        x: int32;
        y: int32;
    }>;
};
//# sourceMappingURL=KeyboardNavigation.fs.d.ts.map