import { type ImageFormat } from 'exif-rotate-js';
interface Props {
    imageFormat?: ImageFormat;
    autoStart?: boolean;
    fileOnly?: boolean;
    readonly?: boolean;
    disabled?: boolean;
    buttonText?: string;
    maxHeight?: string | number;
    maxWidth?: string | number;
    aspectRatio?: number;
}
/**
 * Public props accepted by FormImagesCapture.
 * Document each prop field with intent, defaults, and side effects for clear generated docs.
 */
type __VLS_Props = Props;
declare function startCamera(): void;
declare function stopCamera(): void;
declare function captureImage(): void;
declare function captureImageFile(selectedFile: File | File[] | undefined): void;
declare function reset(): void;
type __VLS_ModelProps = {
    modelValue?: string;
};
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
declare var __VLS_92: {
    operation: {
        startCamera: typeof startCamera;
        stopCamera: typeof stopCamera;
        reset: typeof reset;
        captureImage: typeof captureImage;
        captureImageFile: typeof captureImageFile;
        isLoading: boolean;
        isCaptured: boolean;
        hasCamera: boolean;
    };
};
type __VLS_Slots = {} & {
    actions?: (props: typeof __VLS_92) => any;
};
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
    errorMessages: import("vue").ComputedRef<(string & string[]) | (readonly string[] & string[]) | undefined>;
    isValid: import("vue").ComputedRef<boolean | null | undefined>;
    reset: typeof reset;
    resetValidation: () => Promise<void> | undefined;
    validate: () => Promise<string[]> | undefined;
    operation: import("vue").Ref<{
        startCamera: typeof startCamera;
        stopCamera: typeof stopCamera;
        reset: typeof reset;
        captureImage: typeof captureImage;
        captureImageFile: typeof captureImageFile;
        isLoading: boolean;
        isCaptured: boolean;
        hasCamera: boolean;
    }, {
        startCamera: typeof startCamera;
        stopCamera: typeof stopCamera;
        reset: typeof reset;
        captureImage: typeof captureImage;
        captureImageFile: typeof captureImageFile;
        isLoading: import("vue").Ref<boolean, boolean>;
        isCaptured: import("vue").ComputedRef<boolean>;
        hasCamera: import("vue").ComputedRef<boolean>;
    } | {
        startCamera: typeof startCamera;
        stopCamera: typeof stopCamera;
        reset: typeof reset;
        captureImage: typeof captureImage;
        captureImageFile: typeof captureImageFile;
        isLoading: boolean;
        isCaptured: boolean;
        hasCamera: boolean;
    }>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (value: string | undefined) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
}>, {
    disabled: boolean;
    maxWidth: string | number;
    readonly: boolean;
    buttonText: string;
    imageFormat: ImageFormat;
    autoStart: boolean;
    fileOnly: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
