import { IntrospectionSchema, Kind, OfTypeClass, TypeElement } from "../introspectionSchemaInterface";
import Input from "./FormsElements/Input.vue";
import Items from "./FormsElements/Items.vue";
import SelectField from "./FormsElements/SelectField.vue";
import type { InputProps, ItemsProps, SelectProps } from './FormsElements/elementsTypes';
export type OpcoesValidacoes = '' | 'required' | `minLength:${number}` | `maxLength:${number}`;
type InputComponent = {
    is: typeof Input;
    props: InputProps;
};
type SelectFieldComponent = {
    is: typeof SelectField;
    props: SelectProps;
};
type ItemsComponent = {
    is: typeof Items;
    props: ItemsProps;
};
export declare function getTypesFromSchema(introspectionSchema: IntrospectionSchema): TypeElement[];
export declare function parseNonScalar(type: OfTypeClass): {
    is_list: boolean;
    is_non_null: boolean;
    is_list_item_non_null: boolean;
    kind: Kind;
    name: import("../introspectionSchemaInterface").Name | null;
    ofType: OfTypeClass | null;
};
export declare function getEnityInputType(entity_full_name: string): Promise<TypeElement | undefined>;
export type FormSchema = {
    sub_forms: {
        name: string;
        type: string;
        required: boolean;
        multiple: boolean;
    }[];
    form_fields: {
        nome: string;
        kind: Kind;
        form_component_info: SelectFieldComponent | ItemsComponent | InputComponent;
    }[];
    nome_campo: string;
    multiple?: boolean;
};
export type FormSchemasMap = Map<string, FormSchema>;
export default function birlei(entity_name: string): Promise<FormSchemasMap>;
export {};
