// Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. import { Contents } from '@jupyterlab/services'; import { IIterator } from '@phosphor/algorithm'; import { ISignal } from '@phosphor/signaling'; import { Token } from '@phosphor/application'; import { IChangedArgs } from '../common/interfaces'; /* tslint:disable */ /** * The path tracker token. */ export const IPathTracker = new Token('jupyter.services.file-browser'); /* tslint:enable */ /** * An interface a file browser path tracker. */ export interface IPathTracker { /** * A signal emitted when the current path changes. */ pathChanged: ISignal>; /** * A signal emitted when the directory listing is refreshed. */ refreshed: ISignal; /** * Get the file path changed signal. */ fileChanged: ISignal; /** * A signal emitted when the tracker loses connection. */ connectionFailure: ISignal; /** * The current path of the tracker. */ readonly path: string; /** * Create an iterator over the tracker's items. * * @returns A new iterator over the model's items. */ items(): IIterator; /** * Force a refresh of the directory contents. */ refresh(): Promise; }