import { type Account } from "../coValues/account.js"; import { AnonymousJazzAgent, CoValue, ID, RefEncoded, LoadedAndRequired, MaybeLoaded } from "../internal.js"; export declare class Ref { readonly id: ID; readonly controlledAccount: Account | AnonymousJazzAgent; readonly schema: RefEncoded; readonly parent: CoValue; constructor(id: ID, controlledAccount: Account | AnonymousJazzAgent, schema: RefEncoded, parent: CoValue); load(): Promise>; get value(): MaybeLoaded; } export declare function makeRefs(parent: CoValue, getIdForKey: (key: Keys) => ID | undefined, getKeysWithIds: () => Keys[], controlledAccount: Account | AnonymousJazzAgent, refSchemaForKey: (key: Keys) => RefEncoded): { [K in Keys]: Ref; } & { [Symbol.iterator]: () => IterableIterator>; length: number; }; export type RefIfCoValue = LoadedAndRequired extends CoValue ? Ref> : never; //# sourceMappingURL=refs.d.ts.map