/// <reference types="node" />
import { RequestHandler } from 'ask-sdk';
import { RequestEnvelope, Response, ResponseEnvelope } from 'ask-sdk-model';
import { DynamoDB } from 'aws-sdk';
import { EventEmitter } from 'events';
import * as i18n from 'i18next';
import { V1Handler } from './v1Handler';
export declare class Adapter extends EventEmitter {
    readonly _event: RequestEnvelope;
    readonly _context: any;
    readonly _callback: (err: Error, result?: any) => void;
    state: string;
    appId: string;
    response: ResponseEnvelope;
    dynamoDBClient: DynamoDB;
    dynamoDBTableName: string;
    saveBeforeResponse: boolean;
    i18n: i18n;
    locale: string;
    resources: object;
    promiseResolve: (value?: Response | PromiseLike<Response>) => void;
    private v2RequestHandlers;
    constructor(event: RequestEnvelope, context: any, callback?: (err: Error, result?: any) => void);
    registerHandlers(...v1Handlers: V1Handler[]): void;
    registerV2Handlers(...requestHandlers: RequestHandler[]): void;
    execute(): void;
}
export declare const StateString: unique symbol;
export declare function CreateStateHandler(state: string, requestHandler: V1Handler): V1Handler;
