import React from 'react';
import type { InitialResults, StateMapping, UiState } from 'instantsearch.js';
import type { BrowserHistoryArgs } from 'instantsearch.js/es/lib/routers/history';
import type { InstantSearchProps, InstantSearchSSRContextApi } from 'react-instantsearch-core';
declare const InstantSearchInitialResults: unique symbol;
declare global {
    interface Window {
        [InstantSearchInitialResults]?: InitialResults;
    }
}
export type InstantSearchNextInstance = InstantSearchSSRContextApi<UiState>['ssrSearchRef'];
export declare function createInstantSearchNextInstance(): InstantSearchNextInstance;
export type InstantSearchNextRouting<TUiState, TRouteState> = {
    router?: Partial<BrowserHistoryArgs<TRouteState>>;
    stateMapping?: StateMapping<TUiState, TRouteState>;
};
export type InstantSearchNextProps<TUiState extends UiState = UiState, TRouteState = TUiState> = Omit<InstantSearchProps<TUiState, TRouteState>, 'routing'> & {
    routing?: InstantSearchNextRouting<TUiState, TRouteState> | boolean;
    instance?: InstantSearchNextInstance;
    ignoreMultipleHooksWarning?: boolean;
};
export declare function InstantSearchNext<TUiState extends UiState = UiState, TRouteState = TUiState>({ children, routing: passedRouting, instance, ignoreMultipleHooksWarning, ...instantSearchProps }: InstantSearchNextProps<TUiState, TRouteState>): React.JSX.Element;
export {};
