import { Layout, JsonSchema, JsonFormsRendererRegistryEntry, JsonFormsCellRendererRegistryEntry, UISchemaElement } from '@jsonforms/core';
import { DefineComponent, PropType, Ref, ComputedRef, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
import { Styles } from '..';

declare const layoutRenderer: DefineComponent<{
    schema: {
        required: true;
        type: PropType<JsonSchema>;
    };
    uischema: {
        required: true;
        type: PropType<Layout>;
    };
    path: {
        required: true;
        type: StringConstructor;
    };
    enabled: {
        required: false;
        type: BooleanConstructor;
        default: undefined;
    };
    renderers: {
        required: boolean;
        type: PropType< JsonFormsRendererRegistryEntry[]>;
        default: undefined;
    };
    cells: {
        required: boolean;
        type: PropType< JsonFormsCellRendererRegistryEntry[]>;
        default: undefined;
    };
    config: {
        required: boolean;
        type: ObjectConstructor; /**
         * Combines 'breakHorizontal' with user defined 'col' weights.
         * 'breakHorizontal' takes precedence.
         */
        default: undefined;
    };
}, {
    xs: Ref<boolean>;
    sm: Ref<boolean>;
    md: Ref<boolean>;
    lg: Ref<boolean>;
    xl: Ref<boolean>;
    layout: ComputedRef<{
        uischema: NonNullable<Layout & UISchemaElement>;
        schema: NonNullable< JsonSchema>;
        path: string;
        enabled: boolean;
        renderers: JsonFormsRendererRegistryEntry[];
        cells: JsonFormsCellRendererRegistryEntry[];
        config: any;
        direction: NonNullable<"row" | "column">;
        label: string;
        data: any;
        visible: boolean;
    }>;
    styles: Styles;
    appliedOptions: ComputedRef<any>;
    vuetifyProps: (path: string) => any;
}, unknown, {
    collapse(): boolean;
    /**
     * Combines 'breakHorizontal' with user defined 'col' weights.
     * 'breakHorizontal' takes precedence.
     */
    cols(): (number | false)[];
}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    schema: {
        required: true;
        type: PropType<JsonSchema>;
    };
    uischema: {
        required: true;
        type: PropType<Layout>;
    };
    path: {
        required: true;
        type: StringConstructor;
    };
    enabled: {
        required: false;
        type: BooleanConstructor;
        default: undefined;
    };
    renderers: {
        required: boolean;
        type: PropType< JsonFormsRendererRegistryEntry[]>;
        default: undefined;
    };
    cells: {
        required: boolean;
        type: PropType< JsonFormsCellRendererRegistryEntry[]>;
        default: undefined;
    };
    config: {
        required: boolean;
        type: ObjectConstructor; /**
         * Combines 'breakHorizontal' with user defined 'col' weights.
         * 'breakHorizontal' takes precedence.
         */
        default: undefined;
    };
}>>, {
    enabled: boolean;
    renderers: JsonFormsRendererRegistryEntry[];
    cells: JsonFormsCellRendererRegistryEntry[];
    config: Record<string, any>;
}, {}>;
export default layoutRenderer;
