/// <reference types="react" />
import Document, { type DocumentContext } from 'next/document';
/**
 * Usage, from a pages/_document.tsx file:
 * import {ServerStyleSheetDocument} from 'next-sanity/studio'
 *
 * export default class MyDocument extends ServerStyleSheetDocument {}
 *
 * To do extra stuff in getInitialProps:
 * import {ServerStyleSheetDocument} from 'next-sanity/studio'
 * import { type DocumentContext } from 'next/document'
 *
 * export default class MyDocument extends ServerStyleSheetDocument {
 *  static async getInitialProps(ctx: DocumentContext) {
 *    // You can still override renderPage:
 *    const originalRenderPage = ctx.renderPage
 *    ctx.renderPage = () => originalRenderPage({
 *       enhanceApp: (App) => (props) => <App {...props} />
 *    })
 *
 *    const initialProps = await ServerStyleSheetDocument.getInitialProps(ctx)
 *    const extraStyles = await getStyles()
 *    return {
 *      ...initialProps,
 *      styles: [initialProps.styles, extraStyles],
 *    }
 *  }
 * }
 */
export declare class ServerStyleSheetDocument extends Document {
    static getInitialProps(ctx: DocumentContext): Promise<{
        styles: (import("react").ReactFragment | JSX.Element | undefined)[];
        html: string;
        head?: (JSX.Element | null)[] | undefined;
    }>;
}
