import * as Yup from "yup";
import type { DatabaseData, Engine, EngineField } from "../../../metabase-types/api";
export declare const getValidationSchema: (engine: Engine | undefined, engineKey: string | undefined, isAdvanced: boolean) => import("yup/lib/object").OptionalObjectSchema<{
    id: Yup.NumberSchema<number | undefined, import("yup/lib/types").AnyObject, number | undefined>;
    engine: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
    name: import("yup/lib/string").RequiredStringSchema<string, import("yup/lib/types").AnyObject>;
    details: import("yup/lib/object").OptionalObjectSchema<any, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<any>>;
    schedules: import("yup/lib/object").OptionalObjectSchema<{
        metadata_sync: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined>;
        cache_field_values: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined>;
    }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
        metadata_sync: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined>;
        cache_field_values: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined>;
    }>>;
    auto_run_queries: Yup.BooleanSchema<boolean | null, import("yup/lib/types").AnyObject, boolean | null>;
    refingerprint: Yup.BooleanSchema<boolean | null, import("yup/lib/types").AnyObject, boolean | null>;
    cache_ttl: Yup.NumberSchema<number | null, import("yup/lib/types").AnyObject, number | null>;
    is_sample: Yup.BooleanSchema<boolean, import("yup/lib/types").AnyObject, boolean>;
    is_full_sync: Yup.BooleanSchema<boolean, import("yup/lib/types").AnyObject, boolean>;
    is_on_demand: Yup.BooleanSchema<boolean, import("yup/lib/types").AnyObject, boolean>;
}, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
    id: Yup.NumberSchema<number | undefined, import("yup/lib/types").AnyObject, number | undefined>;
    engine: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
    name: import("yup/lib/string").RequiredStringSchema<string, import("yup/lib/types").AnyObject>;
    details: import("yup/lib/object").OptionalObjectSchema<any, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<any>>;
    schedules: import("yup/lib/object").OptionalObjectSchema<{
        metadata_sync: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined>;
        cache_field_values: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined>;
    }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
        metadata_sync: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | undefined>;
        cache_field_values: Yup.ObjectSchema<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined, import("yup/lib/object").AssertsShape<{
            schedule_type: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_day: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_frame: import("yup/lib/mixed").MixedSchema<any, import("yup/lib/types").AnyObject, any>;
            schedule_hour: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
            schedule_minute: Yup.NumberSchema<number | null | undefined, import("yup/lib/types").AnyObject, number | null | undefined>;
        }> | null | undefined>;
    }>>;
    auto_run_queries: Yup.BooleanSchema<boolean | null, import("yup/lib/types").AnyObject, boolean | null>;
    refingerprint: Yup.BooleanSchema<boolean | null, import("yup/lib/types").AnyObject, boolean | null>;
    cache_ttl: Yup.NumberSchema<number | null, import("yup/lib/types").AnyObject, number | null>;
    is_sample: Yup.BooleanSchema<boolean, import("yup/lib/types").AnyObject, boolean>;
    is_full_sync: Yup.BooleanSchema<boolean, import("yup/lib/types").AnyObject, boolean>;
    is_on_demand: Yup.BooleanSchema<boolean, import("yup/lib/types").AnyObject, boolean>;
}>>;
export declare const getVisibleFields: (engine: Engine | undefined, values: DatabaseData, isAdvanced: boolean) => EngineField[];
export declare const getDefinedFields: (engine: Engine | undefined, isAdvanced: boolean) => EngineField[];
export declare const getSubmitValues: (engine: Engine | undefined, values: DatabaseData, isAdvanced: boolean) => {
    details: any;
    id?: number | undefined;
    name: string;
    engine: string | undefined;
    schedules: import("../..-types/api").DatabaseSchedules;
    auto_run_queries: boolean | null;
    refingerprint: boolean | null;
    cache_ttl: number | null;
    is_sample: boolean;
    is_full_sync: boolean;
    is_on_demand: boolean;
    settings?: import("../..-types/api").DatabaseSettings | null | undefined;
};
