/// <reference types="express" />
/// <reference types="bunyan" />
import * as Logger from 'bunyan';
import * as express from 'express';
import { Context } from './context';
import { Robot, WebhookEvent } from './robot';
export declare const createProbot: (options: Options) => {
    server: express.Application;
    webhook: any;
    receive: (event: any) => Promise<any[]>;
    logger: Logger;
    load: (plugin: string | Plugin) => Robot;
    setup: (apps: (string | Plugin)[]) => void;
    start(): void;
};
export declare type Plugin = (robot: Robot) => void;
export interface Options {
    webhookPath?: string;
    secret?: string;
    id: string;
    cert: string;
    webhookProxy?: string;
    port?: number;
}
export interface Probot {
    server: express.Application;
    webhook: any;
    receive: (event: WebhookEvent) => Promise<any[]>;
    logger: Logger;
    load: (plugin: string | Plugin) => Robot;
    setup: (apps: Array<string | Plugin>) => void;
    start: () => void;
}
export { Logger, Context, Robot };
