import { Token } from '@lumino/coreutils';
/**
 * The INotebookPathOpener interface.
 */
export interface INotebookPathOpener {
    /**
     * Open a path in the application.
     *
     * @param options - The options used to open the path.
     */
    open: (options: INotebookPathOpener.IOpenOptions) => WindowProxy | null;
}
export declare namespace INotebookPathOpener {
    /**
     * The options used to open a path in the application.
     */
    interface IOpenOptions {
        /**
         * The URL prefix, which should include the base URL
         */
        prefix: string;
        /**
         * The path to open in the application, e.g `setup.py`, or `notebooks/example.ipynb`
         */
        path?: string;
        /**
         * The extra search params to use in the URL.
         */
        searchParams?: URLSearchParams;
        /**
         * Name of the browsing context the resource is being loaded into.
         * See https://developer.mozilla.org/en-US/docs/Web/API/Window/open for more details.
         */
        target?: string;
        /**
         *
         * See https://developer.mozilla.org/en-US/docs/Web/API/Window/open for more details.
         */
        features?: string;
    }
}
/**
 * The INotebookPathOpener token.
 * The main purpose of this token is to allow other extensions or downstream applications
 * to override the default behavior of opening a notebook in a new tab.
 * It also allows passing the path as a URL search parameter, or other options to the window.open call.
 */
export declare const INotebookPathOpener: Token<INotebookPathOpener>;
