import { type ResponseObject } from '@hapi/hapi';
import { type FormRequestPayload, type FormResponseToolkit } from '../../../server/plugins/engine/types/index.js';
import { type ExternalArgs } from '../../../server/plugins/engine/types.js';
export declare function isExternalComponent(component: unknown): component is ExternalComponent;
export interface ExternalComponent {
    dispatcher(request: FormRequestPayload, h: FormResponseToolkit, args: ExternalArgs): Promise<ResponseObject>;
}
/**
 * Returns internal and external components from a componentMap, regardless of error state.
 * @returns An object containing internalComponents and externalComponents arrays
 */
export declare function getComponentsByType(): {
    internalComponents: Map<string, unknown>;
    externalComponents: Map<string, ExternalComponent>;
};
