default: {
    getters: {
        isSaved: ComputedRef<boolean>;
    };
    state: {
        autoPreview: boolean;
        currentContent: string;
        currentFile: undefined | null | {
            absolutePath?: string;
            content?: string;
            contentHash?: string;
            name: string;
            passwordHash?: string;
            path: string;
            plain?: boolean;
            repo: string;
            stat?: {
                birthtime: number;
                mtime: number;
                size: number;
            };
            status?:
                | "unsaved"
                | "saved"
                | "save-failed"
                | "loaded";
            title?: string;
            type: "dir" | "file";
            writeable?: boolean;
        };
        currentRepo: undefined | {
            enableIndexing: boolean;
            name: string;
            path: string;
        };
        currentRepoIndexStatus: null | {
            repo: string;
            status: {
                cost: number;
                indexed: number;
                processing: null | string;
                ready: boolean;
                total: number;
            };
        };
        editor: string;
        editorPreviewExclusive: boolean;
        inComposition: boolean;
        isFullscreen: boolean;
        presentation: boolean;
        previewer: string;
        recentOpenTime: Record<string, number>;
        showEditor: boolean;
        showExport: boolean;
        showOutline: boolean;
        showSetting: boolean;
        showSide: boolean;
        showView: boolean;
        showXterm: boolean;
        syncScroll: boolean;
        tabs: {
            class?: string;
            description?: string;
            fixed?: boolean;
            key: string;
            label: string;
            payload: {
                file: null | {
                    absolutePath?: string;
                    content?: string;
                    contentHash?: string;
                    name: string;
                    passwordHash?: string;
                    path: string;
                    plain?: boolean;
                    repo: string;
                    stat?: {
                        birthtime: number;
                        mtime: number;
                        size: number;
                    };
                    status?:
                        | "unsaved"
                        | "saved"
                        | "save-failed"
                        | "loaded";
                    title?: string;
                    type: "dir" | "file";
                    writeable?: boolean;
                };
            };
            temporary?: boolean;
        }[];
        tree: null | {
            birthtime?: number;
            children?: { mtime?: number | undefined; birthtime?: number | undefined; marked?: boolean | undefined; children?: ...[] | undefined; level: number; name: string; repo: string; path: string; type: "dir" | "file"; }[];
            level: number;
            marked?: boolean;
            mtime?: number;
            name: string;
            path: string;
            repo: string;
            type: "dir" | "file";
        }[];
        treeSort: {
            by:
                | "name"
                | "mtime"
                | "birthtime"
                | "serial";
            order: "desc" | "asc";
        };
        typewriterMode: boolean;
        wordWrap: "on" | "off";
    };
    watch: {
        <T, Immediate>(source: WatchSource<T>, cb: WatchCallback<T, MaybeUndefined<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
        <T, Immediate>(sources: T | readonly [T], cb: [T] extends [ReactiveMarker]
            ? WatchCallback<T<T>, MaybeUndefined<T<T>, Immediate>>
            : WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
        <T, Immediate>(sources: [...T[]], cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
        <T, Immediate>(source: T, cb: WatchCallback<T, MaybeUndefined<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
    };
    watchEffect: ((effect: WatchEffect, options?: WatchOptionsBase) => WatchStopHandle);
}