diff --git a/packages/gatsby/index.d.ts b/packages/gatsby/index.d.ts index ff3279321e4bf..0bb743ce9df9c 100644 --- a/packages/gatsby/index.d.ts +++ b/packages/gatsby/index.d.ts @@ -146,6 +146,35 @@ export type PageProps< serverData: ServerDataType } +/** + * Props object passed into the [getServerData](https://www.gatsbyjs.com/docs/reference/rendering-options/server-side-rendering/) function. + */ +export type GetServerDataProps = { + headers: Map + method: string + url: string + query?: Record + params?: Record + pageContext: Record +}; + +/** + * The return type (promise payload) from the [getServerData](https://www.gatsbyjs.com/docs/reference/rendering-options/server-side-rendering/) function. + */ +export type GetServerDataReturn> = Promise<{ + headers?: Map + props?: ServerDataType + status?: number +}>; + +/** + * A shorthand type for combining the props and return type for the [getServerData](https://www.gatsbyjs.com/docs/reference/rendering-options/server-side-rendering/) function. + */ +export type GetServerData = (props: GetServerDataProps) => GetServerDataReturn; + +/** + * Constructor arguments for the PageRenderer. + */ export interface PageRendererProps { location: WindowLocation }