import React from 'react';
import type { ActionObject, IScopedContext, RendererProps } from 'jamis-core';
import { ScopedContext } from 'jamis-core';
import type { ActionProps } from '../types';
interface ActionState {
    inCountDown: boolean;
    countDownEnd: number;
    timeLeft: number;
}
export default class Action extends React.Component<ActionProps, ActionState> {
    static defaultProps: Partial<ActionProps>;
    state: ActionState;
    localStorageKey: string;
    dom: any;
    constructor(props: ActionProps);
    handleAction(e: React.MouseEvent<any>): Promise<void>;
    dispatchEventForward: (event: string, more?: Record<string, any>) => void;
    handleCountDown: () => void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
export type ActionRendererProps = RendererProps & Omit<ActionProps, 'onAction' | 'isCurrentUrl' | 'tooltipContainer'> & {
    onAction: (e: React.MouseEvent<any> | string | void | null, action: object, data: any) => void;
    btnDisabled?: boolean;
};
export declare class ActionRenderer extends React.Component<ActionRendererProps> {
    static contextType: React.Context<IScopedContext<import("jamis-core").ScopedComponentType>>;
    context: React.ContextType<typeof ScopedContext>;
    constructor(props: ActionRendererProps, scoped: IScopedContext);
    componentWillUnmount(): void;
    /**
     * 动作处理
     */
    doAction(action: ActionObject, args: {
        value?: string | {
            [key: string]: string;
        };
    }): void;
    handleAction(e: React.MouseEvent<any> | null, action: any): Promise<void>;
    handleMouseEnter(e: React.MouseEvent<any>): void;
    handleMouseLeave(e: React.MouseEvent<any>): void;
    isCurrentAction(link: string): boolean | {
        params?: object;
    };
    render(): JSX.Element;
}
export declare class ButtonRenderer extends ActionRenderer {
}
export declare class SubmitRenderer extends ActionRenderer {
}
export declare class ResetRenderer extends ActionRenderer {
}
export {};
