import type { ApolloServer } from "apollo-server"; import * as Meta from "./meta"; import { Collections, CollectionName, Input, Db } from "./resources"; /** * Options for connecting to @truffle/db * * ```typescript * type ConnectOptions = { * adapter?: * | { * name: "couch"; * settings?: Meta.Pouch.Adapters.Couch.DatabasesSettings; * } * | * name: "memory"; * settings?: Meta.Pouch.Adapters.Memory.DatabasesSettings; * } * | { * name: "indexeddb"; * settings?: Meta.Pouch.Adapters.IndexedDb.DatabasesSettings; * } * }; * ``` * * See individual settings interfaces: * - [[Meta.Pouch.Adapters.Couch.DatabasesSettings]] * - [[Meta.Pouch.Adapters.Fs.DatabasesSettings]] * - [[Meta.Pouch.Adapters.Memory.DatabasesSettings]] * - [[Meta.Pouch.Adapters.IndexedDb.DatabasesSettings]] * * Default adapter: `{ name: "indexeddb" }` * * We recommend using only `"indexeddb"` and `"couch"` at this time. */ export type ConnectOptions = Meta.ConnectOptions; export declare const connect: (options?: ConnectOptions) => Db; export declare const serve: (options?: ConnectOptions) => ApolloServer; export type StrictIdInput = Meta.Id.StrictIdInput; export type GenerateId = (collectionName: N, input: StrictIdInput | Input | undefined) => string | undefined; export declare const generateId: GenerateId; export declare const schema: import("graphql").GraphQLSchema, attach: (options?: Meta.Pouch.Adapters.AttachOptions | undefined) => Meta.Workspace, resources: Meta.Process.ResourceProcessors, forDb: (db: Meta.Db) => { forProvider(provider: import("web3/providers").Provider): { run: Meta.Process.ProcessorRunner; }; run: Meta.Process.ProcessorRunner; };