import type { ApolloClient, DocumentNode, ObservableQuery, OperationVariables, } from '@apollo/client'; import type { OctaneNode } from 'octane'; import type { RenderResult } from 'octane/server'; export interface PrerenderStaticInternalContext { getObservableQuery( query: DocumentNode, variables?: Record, ): ObservableQuery | undefined; onCreatedObservableQuery( observable: ObservableQuery, query: DocumentNode, variables: OperationVariables, ): void; } export declare namespace prerenderStatic { type ServerTree = OctaneNode | (() => OctaneNode); type PrerenderFunction = ( component: () => OctaneNode, ) => string | RenderResult | PromiseLike; interface Options { tree: ServerTree; context?: { client?: ApolloClient }; renderFunction: Prerender; signal?: AbortSignal; ignoreResults?: boolean; diagnostics?: boolean; maxRerenders?: number; } interface Diagnostics { renderCount: number; } interface Result { result: string; renderFnResult: Awaited>; aborted: boolean; diagnostics?: Diagnostics; } } export declare function prerenderStatic< Prerender extends prerenderStatic.PrerenderFunction = prerenderStatic.PrerenderFunction, >(options: prerenderStatic.Options): Promise>;