import type { PropType, ExtractPropTypes, StyleValue } from 'vue';
import type { Arrayable } from '../../_utils/types';
import type { IDrawMode } from './lib';
export declare const _props: {
    open: {
        type: BooleanConstructor;
        default: boolean;
    };
    width: {
        type: NumberConstructor;
    };
    height: {
        type: NumberConstructor;
    };
    penMode: {
        type: PropType<IDrawMode>;
    };
    penColor: {
        type: StringConstructor;
    };
    minWidth: {
        type: NumberConstructor;
    };
    maxWidth: {
        type: NumberConstructor;
    };
    backgroundColor: {
        type: StringConstructor;
    };
    imageName: {
        type: StringConstructor;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
};
export declare const _emits: {
    ok: (dataUrl?: string) => boolean;
    cancel: () => boolean;
};
export type SignatureProps = ExtractPropTypes<typeof _props>;
export type SignaturePropsEmits = typeof _emits;
export type SignatureInstance = {
    OPEN: () => void;
    CLOSE: () => void;
    CLEAR: () => void;
    UNDO: () => void;
    IS_EMPTY: () => boolean;
    UPDATE: (force?: boolean) => void;
    GET_DATE_URL: () => Promise<string | undefined>;
};
