import { InstallProviderOptions, InstallURLOptions, BufferedIncomingMessage, ReceiverDispatchErrorHandlerArgs, ReceiverProcessEventErrorHandlerArgs, ReceiverUnhandledRequestHandlerArgs } from '@slack/bolt';
import { Logger, LogLevel } from '@slack/logger';
import Koa from 'koa';
import Router from '@koa/router';
import KoaInstallerOptions from './KoaInstallerOptions';
export default interface KoaReceiverOptions {
    signingSecret: string | (() => PromiseLike<string>);
    logger?: Logger;
    logLevel?: LogLevel;
    path?: string;
    signatureVerification?: boolean;
    processBeforeResponse?: boolean;
    clientId?: string;
    clientSecret?: string;
    stateSecret?: InstallProviderOptions['stateSecret'];
    redirectUri?: string;
    installationStore?: InstallProviderOptions['installationStore'];
    scopes?: InstallURLOptions['scopes'];
    installerOptions?: KoaInstallerOptions;
    koa?: Koa;
    router?: Router;
    customPropertiesExtractor?: (request: BufferedIncomingMessage) => Record<string, any>;
    dispatchErrorHandler?: (args: ReceiverDispatchErrorHandlerArgs) => Promise<void>;
    processEventErrorHandler?: (args: ReceiverProcessEventErrorHandlerArgs) => Promise<boolean>;
    unhandledRequestHandler?: (args: ReceiverUnhandledRequestHandlerArgs) => void;
    unhandledRequestTimeoutMillis?: number;
}
//# sourceMappingURL=KoaReceiverOptions.d.ts.map