import type { PropType } from 'vue';
import { type Locale } from '../locale';
export interface ImageSettings {
    src: string;
    height: number;
    width: number;
    excavate: boolean;
    x?: number;
    y?: number;
}
export declare const qrProps: () => {
    size: {
        type: NumberConstructor;
        default: number;
    };
    value: {
        type: StringConstructor;
        required: boolean;
    };
    type: {
        type: PropType<"canvas" | "svg">;
        default: "canvas" | "svg";
    };
    color: StringConstructor;
    bgColor: StringConstructor;
    includeMargin: BooleanConstructor;
    imageSettings: {
        type: PropType<ImageSettings>;
        default: ImageSettings;
    };
};
type QRStatus = 'active' | 'expired' | 'loading' | 'scanned';
export declare const qrcodeProps: () => {
    errorLevel: {
        type: PropType<"M" | "H" | "Q" | "L">;
        default: "M" | "H" | "Q" | "L";
    };
    icon: StringConstructor;
    iconSize: {
        type: NumberConstructor;
        default: number;
    };
    status: {
        type: PropType<QRStatus>;
        default: QRStatus;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    onRefresh: PropType<() => void>;
    size: {
        type: NumberConstructor;
        default: number;
    };
    value: {
        type: StringConstructor;
        required: boolean;
    };
    type: {
        type: PropType<"canvas" | "svg">;
        default: "canvas" | "svg";
    };
    color: StringConstructor;
    bgColor: StringConstructor;
    includeMargin: BooleanConstructor;
    imageSettings: {
        type: PropType<ImageSettings>;
        default: ImageSettings;
    };
};
export interface QRCodeCanvasColor {
    dark?: string;
    light?: string;
}
export interface QRCodeCanvasOptions {
    version?: number;
    errorCorrectionLevel?: string;
    maskPattern?: number;
    toSJISFunc?: Function;
    margin?: number;
    scale?: number;
    small?: boolean;
    width: number;
    color?: QRCodeCanvasColor;
}
export type StatusRenderInfo = {
    status: Exclude<QRStatus, 'active'>;
    locale: Locale['QRCode'];
    onRefresh?: () => void;
};
export {};
