import React from 'react';
import PropTypes from 'prop-types';
export interface KonamiProps {
    className?: string;
    code?: number[];
    disabled?: boolean;
    resetDelay?: number;
    action?: (() => void) | null;
    timeout?: number;
    onTimeout?: (() => void) | null;
    children?: React.ReactNode;
}
export interface KonamiState {
    done: boolean;
    input: number[];
}
declare const propTypes: {
    action: PropTypes.Requireable<(...args: any[]) => any>;
    className: PropTypes.Requireable<string>;
    code: PropTypes.Requireable<(number | null | undefined)[]>;
    disabled: PropTypes.Requireable<boolean>;
    onTimeout: PropTypes.Requireable<(...args: any[]) => any>;
    resetDelay: PropTypes.Requireable<number>;
    timeout: PropTypes.Requireable<number>;
};
declare class Konami extends React.Component<KonamiProps, KonamiState> {
    private timeoutID;
    private _timer;
    static defaultProps: KonamiProps;
    static propTypes: typeof propTypes;
    constructor(props: KonamiProps);
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: KonamiProps, nextState: KonamiState): boolean;
    componentWillUnmount(): void;
    onKeyUp(e: KeyboardEvent): void;
    resetInput(): void;
    render(): JSX.Element;
}
export default Konami;
