import * as vue27 from "vue";

//#region src/composables/use-image-verify.d.ts
interface OperationConfig {
  figure?: number;
  arith?: '+' | '-' | '*';
}
interface CharacterConfig {
  length?: number;
  characterPool?: string;
}
type ImageVerifyOptionsBase = {
  width?: number;
  height?: number;
  refreshOnClick?: boolean;
  disturbLine?: number;
  disturbPoint?: number;
};
type ImageVerifyOptions = (ImageVerifyOptionsBase & {
  type: 'operation';
  config?: OperationConfig;
}) | (ImageVerifyOptionsBase & {
  type: 'character';
  config?: CharacterConfig;
});
declare function useImageVerify(options?: ImageVerifyOptions): {
  domRef: vue27.Ref<HTMLCanvasElement | undefined, HTMLCanvasElement | undefined>;
  value: vue27.Ref<string, string>;
  code: vue27.Ref<string, string>;
  passed: vue27.ComputedRef<boolean>;
  validate: () => Promise<unknown>;
  reset: () => void;
  refresh: () => void;
};
type UseImageVerifyReturns = ReturnType<typeof useImageVerify>;
//#endregion
export { ImageVerifyOptions, UseImageVerifyReturns, useImageVerify };