diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..0e2addf --- /dev/null +++ b/index.d.ts @@ -0,0 +1,48 @@ +import * as React from 'react'; +import { ReactNode } from 'react'; + +interface CaptchaSettingArgs { + captchaEndpoint: string; + captchaEnabled?: boolean; +} + +interface CaptchaProps { + captchaStyleName?: string; + styleName?: string; + ref(captcha: Captcha): void; +} + +interface CaptchaSetting { + set(setting: CaptchaSettingArgs): void; + get(): CaptchaSettingArgs; +} + +export class Captcha extends React.Component { + constructor(props: CaptchaProps); + + componentWillMount(): void; + + componentDidMount(): void; + + getCaptchaStyleName(): string; + + getInstance(): any; + + getCaptchaId(): string; + + getUserEnteredCaptchaCode(): string; + + displayHtml(captchaStyleName: string): void; + + reloadImage(): void; + + validateUnsafe(callback: (isHuman: boolean) => void): void; + + generateCaptchaMarkup(captchaStyleName: string): void; + + loadScriptIncludes(captchaStyleName: string): void; + + render(): ReactNode; +} + +export const captchaSettings: CaptchaSetting; diff --git a/package.json b/package.json index 2ea515c..caac4e9 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "url": "https://captcha.com/support" }, "devDependencies": { + "@types/react": "^16.8.24", "react": "^0.13.0", "babel-cli": "^6.26.0", "babel-preset-env": "^1.6.1",