import { IncomingMessage, ServerResponse } from 'http';
import { F as FrameworkContract } from '../../framework.contract-td-lRvq6.cjs';
import { H as HandlerContract } from '../../handler.contract-D9QyTfDX.cjs';
import { R as RawRequest } from '../../raw-request-B_VM70E4.cjs';
import '../../adapter.contract-Cp2Jsh5V.cjs';
import '../../headers-DjfGHDmI.cjs';
import 'node:http';
import '../../logger-F8qccesk.cjs';
import '../../request-DsBcr1WD.cjs';

/**
 * 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 };
