import { AllowedComponentProps } from 'vue';
import { ComponentCustomProps } from 'vue';
import { ComponentOptionsMixin } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import { PropType } from 'vue';
import { VNodeProps } from 'vue';

declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;

declare type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};

declare type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: PropType<T[K]>;
        required: true;
    };
};

declare type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};

declare interface ITranslationsProps {
    bold: string;
    italic: string;
    underline: string;
    strike: string;
    header1: string;
    header2: string;
    header3: string;
    unorderedList: string;
    orderedList: string;
    checklist: string;
    alignLeft: string;
    center: string;
    alignRight: string;
    undo: string;
    redo: string;
}

export declare const VueTailwindEditor: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
height: string;
width: string;
editorBackground?: string | undefined;
placeholder?: string | undefined;
keys?: Partial<ITranslationsProps> | undefined;
}>, {
width: string;
height: string;
keys: ITranslationsProps;
}>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
getHtml: (html: string) => void;
}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
height: string;
width: string;
editorBackground?: string | undefined;
placeholder?: string | undefined;
keys?: Partial<ITranslationsProps> | undefined;
}>, {
width: string;
height: string;
keys: ITranslationsProps;
}>>> & {
onGetHtml?: ((html: string) => any) | undefined;
}, {
keys: Partial<ITranslationsProps>;
width: string;
height: string;
}, {}>;

export { }
