import { OperationData } from '@ts-gql/tag'; import { GitHubConfig, LocalConfig } from '../../config'; import { ReactNode } from 'react'; import { TreeEntry, TreeNode } from '../trees'; import { DataState } from '../useData'; import { MaybePromise } from '../utils'; export declare function fetchLocalTree(sha: string): MaybePromise<{ entries: Map; tree: Map; }>; export declare function useSetTreeSha(): (sha: string) => void; export declare const SetTreeShaContext: import("react").Context<(sha: string) => void>; export declare function LocalAppShellProvider(props: { config: LocalConfig; children: ReactNode; }): JSX.Element; export declare function GitHubAppShellProvider(props: { currentBranch: string; config: GitHubConfig; children: ReactNode; }): JSX.Element; export declare const AppShellErrorContext: import("react").Context; type Filepath = string; export type TreeData = { entries: Map; tree: Map; }; type AllTreeData = { current: DataState; default: DataState; merged: DataState<{ current: TreeData; default: TreeData; }>; }; export declare function useTree(): AllTreeData; export declare function useChanged(): { collections: Map; removed: Set; changed: Set; }>; singletons: Set; }; export declare function useBaseCommit(): string; export declare function useRepositoryId(): string; export declare const AppShellQuery: import("../../__generated__/ts-gql/AppShell").type; export type AppShellData = OperationData; export declare function hydrateTreeCacheWithEntries(entries: TreeEntry[]): Promise<{ entries: Map; tree: Map; }>; export declare function fetchGitHubTreeData(sha: string, repo: { owner: string; name: string; }): MaybePromise<{ entries: Map; tree: Map; }>; export declare const BranchInfoContext: import("react").Context<{ currentBranch: string; allBranches: string[]; branchNameToId: Map; defaultBranch: string; hasPullRequests: boolean; }>; export {};