import type { EntryContext } from '@remix-run/server-runtime';
import type { ComponentType } from 'react';
type HeadComponent = ComponentType<{
    __remix_island_render_server?: boolean;
}> & {
    __remix_island_id?: string;
};
export interface CreateHeadOpts {
    id?: string;
    cleanup?: boolean;
}
export declare function createHead(Comp: ComponentType, { id, cleanup }?: CreateHeadOpts): HeadComponent;
export interface RenderHeadToStringOpts {
    request: Request;
    remixContext: EntryContext;
    Head: HeadComponent;
}
export declare function renderHeadToString({ request, remixContext, Head, }: RenderHeadToStringOpts): string;
export declare function switchRootComponent(remixContext: EntryContext, Head: HeadComponent): EntryContext;
export declare function removeOldHead(Head: HeadComponent, parent?: HTMLElement): void;
export {};
