LedgerContext: {    DamlLedger: React.FC<LedgerProps>;    useFetch: <T extends object, K, I extends string>(        template: TemplateOrInterface<T, K, I>,        contractId: ContractId<T>,    ) => FetchResult<T, K, I>;    useFetchByKey: <T extends object, K, I extends string>(        template: Template<T, K, I>,        keyFactory: () => K,        keyDeps: readonly unknown[],    ) => FetchResult<T, K, I>;    useLedger: () => Ledger;    useParty: () => Party;    useQuery: <T extends object, K, I extends string>(        template: TemplateOrInterface<T, K, I>,        queryFactory?: () => Query<T>,        queryDeps?: readonly unknown[],    ) => QueryResult<T, K, I>;    useReload: () => () => void;    useStreamFetchByKey: <T extends object, K, I extends string>(        template: Template<T, K, I>,        keyFactory: () => K,        keyDeps: readonly unknown[],        closeHandler?: (e: StreamCloseEvent) => void,    ) => FetchResult<T, K, I>;    useStreamFetchByKeys: <T extends object, K, I extends string>(        template: Template<T, K, I>,        keyFactory: () => K[],        keyDeps: readonly unknown[],        closeHandler?: (e: StreamCloseEvent) => void,    ) => FetchByKeysResult<T, K, I>;    useStreamQueries: <T extends object, K, I extends string>(        template: TemplateOrInterface<T, K, I>,        queryFactory?: () => Query<T>[],        queryDeps?: readonly unknown[],        closeHandler?: (e: StreamCloseEvent) => void,    ) => QueryResult<T, K, I>;    useStreamQuery: <T extends object, K, I extends string>(        template: TemplateOrInterface<T, K, I>,        queryFactory?: () => Query<T>,        queryDeps?: readonly unknown[],        closeHandler?: (e: StreamCloseEvent) => void,    ) => QueryResult<T, K, I>;    useUser: () => User;} Type declaration
- DamlLedger: React.FC<LedgerProps>
- useFetch: <T extends object, K, I extends string>(
 template: TemplateOrInterface<T, K, I>,
 contractId: ContractId<T>,
 ) => FetchResult<T, K, I>
- useFetchByKey: <T extends object, K, I extends string>(
 template: Template<T, K, I>,
 keyFactory: () => K,
 keyDeps: readonly unknown[],
 ) => FetchResult<T, K, I>
- useLedger: () => Ledger
- useParty: () => Party
- useQuery: <T extends object, K, I extends string>(
 template: TemplateOrInterface<T, K, I>,
 queryFactory?: () => Query<T>,
 queryDeps?: readonly unknown[],
 ) => QueryResult<T, K, I>
- useReload: () => () => void
- useStreamFetchByKey: <T extends object, K, I extends string>(
 template: Template<T, K, I>,
 keyFactory: () => K,
 keyDeps: readonly unknown[],
 closeHandler?: (e: StreamCloseEvent) => void,
 ) => FetchResult<T, K, I>
- useStreamFetchByKeys: <T extends object, K, I extends string>(
 template: Template<T, K, I>,
 keyFactory: () => K[],
 keyDeps: readonly unknown[],
 closeHandler?: (e: StreamCloseEvent) => void,
 ) => FetchByKeysResult<T, K, I>
- useStreamQueries: <T extends object, K, I extends string>(
 template: TemplateOrInterface<T, K, I>,
 queryFactory?: () => Query<T>[],
 queryDeps?: readonly unknown[],
 closeHandler?: (e: StreamCloseEvent) => void,
 ) => QueryResult<T, K, I>
- useStreamQuery: <T extends object, K, I extends string>(
 template: TemplateOrInterface<T, K, I>,
 queryFactory?: () => Query<T>,
 queryDeps?: readonly unknown[],
 closeHandler?: (e: StreamCloseEvent) => void,
 ) => QueryResult<T, K, I>
- useUser: () => User
A LedgerContext is a React context that stores information about a Daml Ledger and hooks necessary to use it.