import { Controller } from 'tsoa';
import { type Request as ExpressRequest, type Response as ExpressResponse } from 'express';
import { ManifestModel, ManifestService, ComponentFunctionService, ComponentSetService, Manifest, Headers } from '@squiz/component-lib';
import { MANIFEST_MODELS } from '@squiz/dx-json-schema-lib';
export declare class DefinitionController extends Controller {
    protected componentSetService: ComponentSetService;
    protected manifestService: ManifestService;
    protected componentFunctionService: ComponentFunctionService;
    constructor(componentSetService: ComponentSetService, manifestService: ManifestService, componentFunctionService: ComponentFunctionService);
    getComponentVersionManifest(namespace: string, componentName: string, version: string, request: ExpressRequest, _previewKey?: string, _componentSet?: string): Promise<ManifestModel>;
    getDefaultFunctionDefinition(namespace: string, componentName: string, version: string, request: ExpressRequest, _previewKey?: string, _componentSet?: string): Promise<MANIFEST_MODELS.v1.ComponentFunction>;
    getGivenFunctionDefinition(namespace: string, componentName: string, version: string, functionName: string, request: ExpressRequest, _previewKey?: string, _componentSet?: string): Promise<MANIFEST_MODELS.v1.ComponentFunction>;
    private setHeadersFromComponentSet;
    protected setHeadersFromPreview(manifest: Manifest, _previewKey: string, functionName: string, response: ExpressResponse): void;
    protected setHeaders(headers: Headers, response: ExpressResponse): void;
    protected assertValidQueryParametersForDefinition(_previewKey: string | undefined, _componentSet: string | undefined): void;
}
