import * as originalRouter from 'next/dist/client/router';
import originalRouter__default from 'next/dist/client/router';
export * from 'next/dist/client/router';
export { default } from 'next/dist/client/router';
import { NextRouter } from 'next/router';
import { Mock } from 'storybook/test';

/**
 * Creates a next/router router API mock. Used internally.
 *
 * @ignore
 * @internal
 */
declare const createRouter: (overrides: Partial<NextRouter>) => NextRouter;
declare const getRouter: () => {
    push: Mock;
    replace: Mock;
    reload: Mock;
    back: Mock;
    forward: Mock;
    prefetch: Mock;
    beforePopState: Mock;
    events: {
        on: Mock;
        off: Mock;
        emit: Mock;
    };
} & {
    route: string;
    asPath: string;
    basePath: string;
    pathname: string;
    query: {};
    isFallback: boolean;
    isLocaleDomain: boolean;
    isReady: boolean;
    isPreview: boolean;
};

declare const useRouter: Mock<typeof originalRouter.useRouter>;
declare const withRouter: Mock<typeof originalRouter.withRouter>;

export { createRouter, getRouter, useRouter, withRouter };
