import { IncomingMessage, ServerResponse } from 'http';
import { F as FrameworkContract } from '../../framework.contract-td-lRvq6.js';
import { H as HandlerContract } from '../../handler.contract-Ckhqvom_.js';
import { R as RawRequest } from '../../raw-request-CoVOqVRW.js';
import '../../adapter.contract-FnS-TPRj.js';
import '../../headers-DjfGHDmI.js';
import 'node:http';
import '../../logger-F8qccesk.js';
import '../../request-DI51fiy-.js';

/**
 * The class that implements a handler for GCP Http Functions
 *
 * @remarks Read more about Http Cloud Function {@link https://cloud.google.com/functions/docs/create-deploy-http-nodejs | here}
 *
 * @breadcrumb Handlers / GCPHandler
 * @public
 */
declare class GCPHandler<TApp> extends RawRequest<TApp> implements HandlerContract<TApp, never, never, never, void, void | Promise<void>> {
    protected readonly name: string;
    /**
     * Default Constructor
     *
     * @param name - The name of this function, should be the during deploy.
     */
    constructor(name: string);
    /**
     * {@inheritDoc}
     */
    getHandler(app: TApp, framework: FrameworkContract<TApp>): (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
}

export { GCPHandler };
