import { ID, Ent, Viewer } from "../core/base"; import { loadEnt } from "../core/ent"; import { GraphQLFieldResolver } from "graphql"; interface Node { id: ID; } export interface NodeResolver { encode(node: Node): string; decodeObj(viewer: Viewer, id: string): Promise; } interface loadEnt { (v: Viewer, nodeType: string, id: ID): Promise; } export declare class EntNodeResolver implements NodeResolver { private loader; constructor(loader: loadEnt); encode(node: Ent): string; static decode(id: string): ID | null; mustDecode(id: string): [ID, string]; decodeObj(viewer: Viewer, id: string): Promise; } export declare function registerResolver(name: string, resolver: NodeResolver): Promise; export declare function clearResolvers(): Promise; export declare function resolveID(viewer: Viewer, id: string): Promise; export declare const nodeIDEncoder: GraphQLFieldResolver; export declare function mustDecodeIDFromGQLID(id: string): ID; export declare function encodeGQLID(node: Ent): string; export {};