declare type GenericObject = { [key: string]: any; }; export declare type HeadElementWithChildren = { children?: string; } & T; export declare type Meta = Partial> | string; export declare type Link = Partial> | string; export declare type Style = Partial>> | string; export declare type Script = Partial>> | string; export declare type HeadElement = Meta | Link | Style | Script; declare type Social = { title?: string; description?: string; image?: string; url?: string; [key: string]: string | undefined; }; export declare type PrestaHead = { title: string; description: string; image: string; url: string; og: Social; twitter: Social; meta: Meta[]; link: Link[]; script: Script[]; style: Style[]; }; export declare type DocumentProperties = { body?: string; head?: Partial; foot?: Partial>; htmlAttributes?: Partial<{ [key in keyof HTMLHtmlElement]: string; }>; bodyAttributes?: Partial; }; export declare function pruneEmpty(obj: GenericObject): GenericObject; export declare function filterUnique(arr: HeadElement[]): HeadElement[]; export declare function tag(name: string): (props: HeadElement) => string; export declare function prefixToObjects(prefix: string, props: Social): HeadElementWithChildren>[]; export declare function createHeadTags(config?: Partial): string; export declare function createFootTags(config?: Partial>): string; /** * Generates a string representing a complete HTML document */ export declare function html({ body, head, foot, htmlAttributes, bodyAttributes, }: DocumentProperties): string; export {};