import { ActionsType, Model } from '@topwrite/common'; import { ReactNode } from 'react'; import { ReleaseLog, State } from 'repo'; export interface WorkspaceType { extra: ReactNode; loading: boolean; lineNumber: number; branch: string; current: string | null; treeEntries: State['workspace']['treeEntries']; status: State['workspace']['status']; user: State['workspace']['user']; syncing: State['workspace']['syncing']; release: State['workspace']['release']; } declare class Workspace extends Model { initialState: { readonly extra: null; readonly current: null; readonly lineNumber: 0; readonly loading: false; readonly syncing: false; readonly release: "idle"; }; subscription({ updateStatus, updateTreeEntries, setSyncing, setRelease }: ActionsType): void; updateTreeEntries(entries: State['workspace']['treeEntries']): Generator; updateStatus(status: State['workspace']['status']): Generator; setExtra(extra: ReactNode): Generator; setCurrent(current: string | null, lineNumber?: number): AsyncGenerator; removeFile(path: string): AsyncGenerator; renameFile(oldPath: string, newPath: string): AsyncGenerator; sync(): Generator; commit(message: string, release: boolean): Generator; setSyncing(syncing: boolean): Generator; setRelease(release: ReleaseLog['status_text']): Generator; setTourVersion(name: string, version: string): Generator; } export declare const workspace: Workspace; export {};