///
import { EffectKind } from '@shopify/react-effect';
export interface State {
title?: string;
metas: React.HTMLProps[];
links: React.HTMLProps[];
bodyAttributes: React.HTMLProps;
htmlAttributes: React.HtmlHTMLAttributes;
}
interface Subscription {
(state: State): void;
}
export declare const EFFECT_ID: unique symbol;
export declare class HtmlManager {
effect: EffectKind;
private serializations;
private titles;
private metas;
private links;
private htmlAttributes;
private bodyAttributes;
private subscriptions;
get state(): State;
reset({ includeSerializations }?: {
includeSerializations?: boolean | undefined;
}): void;
subscribe(subscription: Subscription): () => void;
addTitle(title: string): () => void;
addMeta(meta: React.HTMLProps): () => void;
addLink(link: React.HTMLProps): () => void;
addHtmlAttributes(attributes: React.HtmlHTMLAttributes): () => void;
addBodyAttributes(attributes: React.HTMLProps): () => void;
setSerialization(id: string, data: unknown): void;
getSerialization(id: string): T | undefined;
extract(): {
serializations: {
id: string;
data: unknown;
}[];
title?: string | undefined;
metas: import("react").HTMLProps[];
links: import("react").HTMLProps[];
bodyAttributes: import("react").HTMLProps;
htmlAttributes: import("react").HtmlHTMLAttributes;
};
private addDescriptor;
private updateSubscriptions;
}
export {};
//# sourceMappingURL=manager.d.ts.map