import { ButtonProps } from 'antdv-next';
import { ComputedRef, InjectionKey, PropType } from 'vue';
export interface ActionButtonContextProps {
    prefixCls: string;
    onSend?: () => void;
    onSendDisabled?: boolean;
    onClear?: () => void;
    onClearDisabled?: boolean;
    onCancel?: () => void;
    onCancelDisabled?: boolean;
    onSpeech?: () => void;
    onSpeechDisabled?: boolean;
    speechRecording?: boolean;
    disabled?: boolean;
}
export declare const ActionButtonContextKey: InjectionKey<ComputedRef<ActionButtonContextProps>>;
export declare function useActionButtonContext(): ComputedRef<ActionButtonContextProps>;
export declare function provideActionButtonContext(value: ComputedRef<ActionButtonContextProps>): void;
export type ActionType = "onSend" | "onClear" | "onCancel" | "onSpeech";
declare const ActionButton: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    action: {
        type: PropType<ActionType>;
        required: true;
    };
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    icon: {
        type: ObjectConstructor;
        default: undefined;
    };
    type: {
        type: PropType<ButtonProps["type"]>;
        default: string;
    };
    shape: {
        type: PropType<ButtonProps["shape"]>;
        default: undefined;
    };
    color: {
        type: PropType<ButtonProps["color"]>;
        default: undefined;
    };
    variant: {
        type: PropType<ButtonProps["variant"]>;
        default: undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    action: {
        type: PropType<ActionType>;
        required: true;
    };
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    icon: {
        type: ObjectConstructor;
        default: undefined;
    };
    type: {
        type: PropType<ButtonProps["type"]>;
        default: string;
    };
    shape: {
        type: PropType<ButtonProps["shape"]>;
        default: undefined;
    };
    color: {
        type: PropType<ButtonProps["color"]>;
        default: undefined;
    };
    variant: {
        type: PropType<ButtonProps["variant"]>;
        default: undefined;
    };
}>> & Readonly<{}>, {
    color: "blue" | "purple" | "cyan" | "green" | "magenta" | "pink" | "red" | "orange" | "yellow" | "volcano" | "geekblue" | "lime" | "gold" | "default" | "danger" | "primary" | undefined;
    icon: Record<string, any>;
    disabled: boolean;
    type: "dashed" | "text" | "default" | "link" | "primary" | undefined;
    variant: "dashed" | "solid" | "text" | "filled" | "link" | "outlined" | undefined;
    shape: "round" | "default" | "square" | "circle" | undefined;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default ActionButton;
