DefinitelyTyped/react-helmet/index.d.ts
Eric Anderson 9b53298395 Support Pick<> on setState now that TS 2.1 is out (#13155)
* Support Partial<> on setState now that TS 2.1 is out

* Update readme to reflect setState being typed correctly

* Switch setState to Pick

* Restore cloneELement portion of readme

* Use Pick<> | S for setState due to cast issue

* state and props should be readonly

* Fix nit + document why we

* Add typescript compiler header

* Update to properly order headers

* Update readme to reflect 2.1.5 fixing stPick

* Update readme now that 2.1.5 is out

* All that depend on react now require 2.1

* Fix definition that fails due to readonly state
2017-01-23 12:36:53 -08:00

49 lines
1.3 KiB
TypeScript

// Type definitions for react-helmet
// Project: https://github.com/nfl/react-helmet
// Definitions by: Evan Bremer <https://github.com/evanbb>, Isman Usoh <https://github.com/isman-usoh>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.1
/// <reference types="react" />
import * as React from "react";
declare function ReactHelmet(): ReactHelmet.HelmetComponent;
declare namespace ReactHelmet {
function peek(): ReactHelmet.HelmetData;
function rewind(): ReactHelmet.HelmetData;
interface HelmetProps {
base?: any;
defaultTitle?: string;
htmlAttributes?: any;
link?: Array<any>;
meta?: Array<any>;
script?: Array<any>;
style?: Array<any>;
title?: string;
titleTemplate?: string;
onChangeClientState?: (newState: any) => void;
}
interface HelmetData {
base: HelmetDatum;
htmlAttributes: HelmetDatum;
link: HelmetDatum;
meta: HelmetDatum;
script: HelmetDatum;
style: HelmetDatum;
title: HelmetDatum;
}
interface HelmetDatum {
toString(): string;
toComponent(): React.Component<any, any>;
}
class HelmetComponent extends React.Component<HelmetProps, any> {}
}
export = ReactHelmet;