import type { ItemSchema, MapSchema, Never } from '../../../../schema/index.js';
import type { OmitKeys } from '../../../../types/omitKeys.js';
export type RequiredProperties<SCHEMA extends MapSchema | ItemSchema> = ItemSchema extends SCHEMA ? string : MapSchema extends SCHEMA ? string : {
    [KEY in OmitKeys<SCHEMA['attributes'], {
        props: {
            hidden: true;
        };
    }>]: SCHEMA['attributes'][KEY]['props'] extends {
        required: Never;
    } ? never : KEY;
}[OmitKeys<SCHEMA['attributes'], {
    props: {
        hidden: true;
    };
}>];
