SettingSchema: {
    groups: {
        label: TTitle;
        value: SettingGroup;
    }[];
    properties: {
        [K in keyof BuildInSettings]: {
            defaultValue: BuildInSettings[K] extends any
                ? BuildInSettings[K]
                : any;
            description?: TTitle;
            enum?: string[] | number[];
            group: SettingGroup;
            items?: {
                properties: {
                    [K in string]: {
                        description?: TTitle;
                        openDialogOptions?: OpenDialogOptions;
                        options: {
                            inputAttributes: {
                                placeholder: TTitle;
                            };
                        };
                        title: TTitle;
                        type: string;
                    }
                };
                title: TTitle;
                type: string;
            };
            needReloadWindowWhenChanged?: boolean;
            openDialogOptions?: OpenDialogOptions;
            required?: boolean;
            title: TTitle;
            type: string;
            validator?: ((schema: SettingSchema["properties"][K], value: BuildInSettings[K], path: string) => {
                message: string;
                path: string;
                property: K;
            }[]);
            [key: string]: any;
        }
    };
    required: (keyof BuildInSettings)[];
    title: TTitle;
    type: string;
}