import { ConnectionInfo, ConnectionPool } from 'sqlex'; import { Database as SchemaInfo } from 'sqlex/dist/types'; import { Accessor, AccessorOptions } from './accessor'; import { GraphQLSchemaBuilder, SchemaBuilderOptions } from './schema'; import { Schema as SchemaConfig } from 'sqlex/dist/config'; import { Schema } from 'sqlex/dist/schema'; import { Maybe } from 'graphql/jsutils/Maybe'; import { GraphQLFieldResolver, GraphQLTypeResolver } from 'graphql'; import { OperatorMap } from 'sqlex/dist/filter'; export interface ArchenConfig { database: { connection: ConnectionPool | ConnectionInfo; schemaInfo?: SchemaInfo; }; schema?: SchemaConfig; accessor?: AccessorOptions; graphql?: SchemaBuilderOptions; } export declare class Archen { config: ArchenConfig; accessor: Accessor; schema: Schema; graphql: GraphQLSchemaBuilder; constructor(config: ArchenConfig); bootstrap(schemaInfo?: SchemaInfo, operators?: OperatorMap): Promise; query(args: QueryArgs, dataKey?: string): Promise; shutdown(): Promise; } export interface QueryArgs { source: string; variableValues?: Maybe<{ [key: string]: any; }>; operationName?: Maybe; fieldResolver?: Maybe>; typeResolver?: Maybe>; } export { Accessor };