import { ReactiveController, ReactiveElement, RenderOptions, TemplateResult } from 'lit';
type UnprotectedLitElement = ReactiveElement & {
    update: () => void;
    render: () => TemplateResult;
    renderOptions: RenderOptions;
    _internals?: ElementInternals;
};
/**
 * Catch and manage hydration related fallbacks for SSR
 */
export declare function typeSSR<T extends UnprotectedLitElement>(options?: {
    log?: boolean;
}): ClassDecorator;
export declare class TypeSSRController<T extends ReactiveElement> implements ReactiveController {
    #private;
    private host;
    private options;
    didSSR: boolean;
    constructor(host: T & UnprotectedLitElement, options: {
        log?: boolean;
    });
    hostUpdated(): void;
}
export {};
