///
import { Pool, PoolConfig } from 'pg';
import { IncomingMessage, ServerResponse } from 'http';
import { GraphQLSchema } from 'graphql';
import { EventEmitter } from 'events';
import { PostGraphileOptions, HttpRequestHandler } from '../interfaces';
import { ShutdownActions } from './shutdownActions';
export interface PostgraphileSchemaBuilder {
_emitter: EventEmitter;
getGraphQLSchema: () => Promise;
options: PostGraphileOptions;
}
/**
* Creates a PostGraphile Http request handler by first introspecting the
* database to get a GraphQL schema, and then using that to create the Http
* request handler.
*/
export declare function getPostgraphileSchemaBuilder(pgPool: Pool, schema: string | Array, incomingOptions: PostGraphileOptions, shutdownActions?: ShutdownActions): PostgraphileSchemaBuilder;
export default function postgraphile(poolOrConfig?: Pool | PoolConfig | string, schema?: string | Array, options?: PostGraphileOptions): HttpRequestHandler;
export default function postgraphile(poolOrConfig?: Pool | PoolConfig | string, options?: PostGraphileOptions): HttpRequestHandler;