---@type table
local opts = {
    -- Core behavior settings
    smart_splits = true, -- Allow split keymaps to merge into adjacent windows instead of splitting
    smart_close = true, -- Close buffers while preserving window layout
    prevent_duplicates = true, -- Avoid showing the same buffer in multiple windows

    -- Keymap configuration (set any to false to disable)
    keymaps = {
        -- Split: Uses standard Vim geometry. Merges if smart_splits = true and neighbor exists.
        -- If multiple merge targets exist, shows a visual prompt.
        split_right = "<leader>sl", -- (:vnew or merge)
        split_left = "<leader>sh", -- (:vnew or merge)
        split_down = "<leader>sj", -- (:new or merge)
        split_up = "<leader>sk", -- (:new or merge)

        -- Split management
        close_split = "<leader>sd",
        close_other_splits = "<leader>so",
        close_all_splits = "<leader>sa",

        -- Terminal
        terminal = "<leader>tt", -- Open terminal in current window

        -- Buffer operations
        close_buffer = "<leader>bd",
        close_other_buffers = "<leader>bo",
        close_all_buffers = "<leader>ba",

        -- Move buffer to different split (Example: Not enabled by default)
        move_to_right = "<leader>bl",
        move_to_left = "<leader>bh",
        move_to_down = "<leader>bj",
        move_to_up = "<leader>bk",

        -- Buffer navigation (skips buffers visible in other windows)
        prev_buffer = "<C-h>",
        next_buffer = "<C-l>",
        alt_prev_buffer = "<C-k>",
        alt_next_buffer = "<C-j>",

        -- Split navigation
        nav_left = "<C-D-h>",
        nav_right = "<C-D-l>",
        nav_down = "<C-D-j>",
        nav_up = "<C-D-k>",

        -- Terminal navigation
        exit_terminal_mode = "<Esc>",
    },

    -- Command options
    commands = {
        enable = true,
        prefix = "Pivot",
    },
}

return opts