import * as request from "../request/request";
import * as response from "../response/response";
import { Context } from "@larksuiteoapi/core";
declare type handler = <T>(ctx: Context, req: request.Request<T>) => Promise<void>;
export declare const unmarshalResponseFunc: <T>(ctx: Context, req: request.Request<T>) => Promise<void>;
export declare const applyAppTicket: (ctx: Context) => Promise<void>;
export declare class Handlers {
    init: handler;
    validate: handler;
    build: handler;
    sign: handler;
    validateResponse: handler;
    unmarshalResponse: handler;
    constructor(init: handler, validate: handler, build: handler, sign: handler, validateResponse: handler, unmarshalResponse: handler);
    private _send;
    send: <T>(ctx: Context, req: request.Request<T>) => Promise<void>;
}
export declare const Default: Handlers;
export declare const handle: <T>(ctx: Context, req: request.Request<T>) => Promise<response.Response<T>>;
export {};
//# sourceMappingURL=handlers.d.ts.map