import { type Env as HonoEnv, type Context, type MiddlewareHandler } from 'hono';
import { type Publisher } from '@fanoutio/grip';
import type { IResponseGrip } from '../IResponseGrip.js';
import type { IRequestGrip } from '../IRequestGrip.js';
import type { IServeGripConfig } from '../IServeGripConfig.js';
export type GripContext = IRequestGrip & IResponseGrip & {
    getPublisher: () => Publisher;
};
export type Variables = {
    grip: GripContext;
};
export type Env = {
    Variables: Variables;
};
export type ServeGripParams<E extends HonoEnv> = (Promise<IServeGripConfig> | IServeGripConfig) | ((c: Context<E>) => (Promise<IServeGripConfig> | IServeGripConfig));
export declare function serveGrip<E extends Env>(config: ServeGripParams<E>): MiddlewareHandler<E>;
//# sourceMappingURL=ServeGrip.d.ts.map