import React from "react";
import { View, InputMode, TuiConfig } from "../types";
interface NavigationState {
    view: View;
    previousView: View | null;
    modeOriginView: View | null;
    selectedListIndex: number;
    selectedCardIndex: number;
    listScrollOffset: number;
    mode: InputMode;
    searchQuery: string;
    statusMessage: string | null;
    confirmAction: {
        message: string;
        onConfirm: () => void;
    } | null;
}
type NavigationAction = {
    type: "SET_VIEW";
    view: View;
    preserveSelection?: boolean;
} | {
    type: "GO_BACK";
} | {
    type: "SELECT_LIST";
    index: number;
} | {
    type: "SELECT_CARD";
    index: number;
} | {
    type: "SET_LIST_SCROLL";
    offset: number;
} | {
    type: "SET_MODE";
    mode: InputMode;
    originView?: View;
} | {
    type: "SET_SEARCH";
    query: string;
} | {
    type: "SET_STATUS";
    message: string | null;
} | {
    type: "SET_CONFIRM";
    action: {
        message: string;
        onConfirm: () => void;
    } | null;
} | {
    type: "RESET_SELECTION";
};
interface NavigationContextType {
    state: NavigationState;
    dispatch: React.Dispatch<NavigationAction>;
    config: TuiConfig;
}
export declare function NavigationProvider({ children, config, }: {
    children: React.ReactNode;
    config?: TuiConfig;
}): import("react/jsx-runtime").JSX.Element;
export declare function useNavigation(): NavigationContextType;
export {};
