import { TypeOf } from "zod";
export declare const studioSpecificConnections: import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"d1">;
    dbCredentials: import("zod").ZodObject<{
        wranglerConfigPath: import("zod").ZodString;
        dbName: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        wranglerConfigPath: string;
        dbName: string;
    }, {
        wranglerConfigPath: string;
        dbName: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "d1";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
}, {
    driver: "d1";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
}>;
export declare const studioConfidConnections: import("zod").ZodUnion<[import("zod").ZodUnion<[import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"mysql2">;
    dbCredentials: import("zod").ZodObject<{
        host: import("zod").ZodString;
        port: import("zod").ZodOptional<import("zod").ZodNumber>;
        user: import("zod").ZodDefault<import("zod").ZodString>;
        password: import("zod").ZodOptional<import("zod").ZodString>;
        database: import("zod").ZodString;
        type: import("zod").ZodDefault<import("zod").ZodLiteral<"params">>;
    }, "strip", import("zod").ZodTypeAny, {
        port?: number | undefined;
        password?: string | undefined;
        type: "params";
        host: string;
        user: string;
        database: string;
    }, {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        host: string;
        database: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "mysql2";
    dbCredentials: {
        port?: number | undefined;
        password?: string | undefined;
        type: "params";
        host: string;
        user: string;
        database: string;
    };
}, {
    driver: "mysql2";
    dbCredentials: {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        host: string;
        database: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"mysql2">;
    dbCredentials: import("zod").ZodObject<{
        connectionString: import("zod").ZodString;
        type: import("zod").ZodDefault<import("zod").ZodLiteral<"url">>;
    }, "strip", import("zod").ZodTypeAny, {
        type: "url";
        connectionString: string;
    }, {
        type?: "url" | undefined;
        connectionString: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "mysql2";
    dbCredentials: {
        type: "url";
        connectionString: string;
    };
}, {
    driver: "mysql2";
    dbCredentials: {
        type?: "url" | undefined;
        connectionString: string;
    };
}>]>, import("zod").ZodUnion<[import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"pg">;
    dbCredentials: import("zod").ZodObject<{
        host: import("zod").ZodString;
        port: import("zod").ZodOptional<import("zod").ZodNumber>;
        user: import("zod").ZodDefault<import("zod").ZodString>;
        password: import("zod").ZodOptional<import("zod").ZodString>;
        database: import("zod").ZodString;
        ssl: import("zod").ZodOptional<import("zod").ZodBoolean>;
        type: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodLiteral<"params">>>;
    }, "strip", import("zod").ZodTypeAny, {
        type?: "params" | undefined;
        port?: number | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        user: string;
        database: string;
    }, {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        database: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "pg";
    dbCredentials: {
        type?: "params" | undefined;
        port?: number | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        user: string;
        database: string;
    };
}, {
    driver: "pg";
    dbCredentials: {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        database: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"pg">;
    dbCredentials: import("zod").ZodObject<{
        connectionString: import("zod").ZodString;
        type: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodLiteral<"url">>>;
    }, "strip", import("zod").ZodTypeAny, {
        type?: "url" | undefined;
        connectionString: string;
    }, {
        type?: "url" | undefined;
        connectionString: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "pg";
    dbCredentials: {
        type?: "url" | undefined;
        connectionString: string;
    };
}, {
    driver: "pg";
    dbCredentials: {
        type?: "url" | undefined;
        connectionString: string;
    };
}>]>, import("zod").ZodUnion<[import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"turso">;
    dbCredentials: import("zod").ZodObject<{
        url: import("zod").ZodString;
        authToken: import("zod").ZodOptional<import("zod").ZodString>;
    }, "strip", import("zod").ZodTypeAny, {
        authToken?: string | undefined;
        url: string;
    }, {
        authToken?: string | undefined;
        url: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "turso";
    dbCredentials: {
        authToken?: string | undefined;
        url: string;
    };
}, {
    driver: "turso";
    dbCredentials: {
        authToken?: string | undefined;
        url: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"libsql">;
    dbCredentials: import("zod").ZodObject<{
        url: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        url: string;
    }, {
        url: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "libsql";
    dbCredentials: {
        url: string;
    };
}, {
    driver: "libsql";
    dbCredentials: {
        url: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"better-sqlite">;
    dbCredentials: import("zod").ZodObject<{
        url: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        url: string;
    }, {
        url: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "better-sqlite";
    dbCredentials: {
        url: string;
    };
}, {
    driver: "better-sqlite";
    dbCredentials: {
        url: string;
    };
}>]>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"d1">;
    dbCredentials: import("zod").ZodObject<{
        wranglerConfigPath: import("zod").ZodString;
        dbName: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        wranglerConfigPath: string;
        dbName: string;
    }, {
        wranglerConfigPath: string;
        dbName: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "d1";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
}, {
    driver: "d1";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
}>]>;
export declare const studioConfigSchema: import("zod").ZodIntersection<import("zod").ZodObject<{
    schema: import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString, "many">]>;
}, "strip", import("zod").ZodTypeAny, {
    schema: string | string[];
}, {
    schema: string | string[];
}>, import("zod").ZodUnion<[import("zod").ZodUnion<[import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"mysql2">;
    dbCredentials: import("zod").ZodObject<{
        host: import("zod").ZodString;
        port: import("zod").ZodOptional<import("zod").ZodNumber>;
        user: import("zod").ZodDefault<import("zod").ZodString>;
        password: import("zod").ZodOptional<import("zod").ZodString>;
        database: import("zod").ZodString;
        type: import("zod").ZodDefault<import("zod").ZodLiteral<"params">>;
    }, "strip", import("zod").ZodTypeAny, {
        port?: number | undefined;
        password?: string | undefined;
        type: "params";
        host: string;
        user: string;
        database: string;
    }, {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        host: string;
        database: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "mysql2";
    dbCredentials: {
        port?: number | undefined;
        password?: string | undefined;
        type: "params";
        host: string;
        user: string;
        database: string;
    };
}, {
    driver: "mysql2";
    dbCredentials: {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        host: string;
        database: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"mysql2">;
    dbCredentials: import("zod").ZodObject<{
        connectionString: import("zod").ZodString;
        type: import("zod").ZodDefault<import("zod").ZodLiteral<"url">>;
    }, "strip", import("zod").ZodTypeAny, {
        type: "url";
        connectionString: string;
    }, {
        type?: "url" | undefined;
        connectionString: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "mysql2";
    dbCredentials: {
        type: "url";
        connectionString: string;
    };
}, {
    driver: "mysql2";
    dbCredentials: {
        type?: "url" | undefined;
        connectionString: string;
    };
}>]>, import("zod").ZodUnion<[import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"pg">;
    dbCredentials: import("zod").ZodObject<{
        host: import("zod").ZodString;
        port: import("zod").ZodOptional<import("zod").ZodNumber>;
        user: import("zod").ZodDefault<import("zod").ZodString>;
        password: import("zod").ZodOptional<import("zod").ZodString>;
        database: import("zod").ZodString;
        ssl: import("zod").ZodOptional<import("zod").ZodBoolean>;
        type: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodLiteral<"params">>>;
    }, "strip", import("zod").ZodTypeAny, {
        type?: "params" | undefined;
        port?: number | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        user: string;
        database: string;
    }, {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        database: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "pg";
    dbCredentials: {
        type?: "params" | undefined;
        port?: number | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        user: string;
        database: string;
    };
}, {
    driver: "pg";
    dbCredentials: {
        type?: "params" | undefined;
        port?: number | undefined;
        user?: string | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        database: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"pg">;
    dbCredentials: import("zod").ZodObject<{
        connectionString: import("zod").ZodString;
        type: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodLiteral<"url">>>;
    }, "strip", import("zod").ZodTypeAny, {
        type?: "url" | undefined;
        connectionString: string;
    }, {
        type?: "url" | undefined;
        connectionString: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "pg";
    dbCredentials: {
        type?: "url" | undefined;
        connectionString: string;
    };
}, {
    driver: "pg";
    dbCredentials: {
        type?: "url" | undefined;
        connectionString: string;
    };
}>]>, import("zod").ZodUnion<[import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"turso">;
    dbCredentials: import("zod").ZodObject<{
        url: import("zod").ZodString;
        authToken: import("zod").ZodOptional<import("zod").ZodString>;
    }, "strip", import("zod").ZodTypeAny, {
        authToken?: string | undefined;
        url: string;
    }, {
        authToken?: string | undefined;
        url: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "turso";
    dbCredentials: {
        authToken?: string | undefined;
        url: string;
    };
}, {
    driver: "turso";
    dbCredentials: {
        authToken?: string | undefined;
        url: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"libsql">;
    dbCredentials: import("zod").ZodObject<{
        url: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        url: string;
    }, {
        url: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "libsql";
    dbCredentials: {
        url: string;
    };
}, {
    driver: "libsql";
    dbCredentials: {
        url: string;
    };
}>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"better-sqlite">;
    dbCredentials: import("zod").ZodObject<{
        url: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        url: string;
    }, {
        url: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "better-sqlite";
    dbCredentials: {
        url: string;
    };
}, {
    driver: "better-sqlite";
    dbCredentials: {
        url: string;
    };
}>]>, import("zod").ZodObject<{
    driver: import("zod").ZodLiteral<"d1">;
    dbCredentials: import("zod").ZodObject<{
        wranglerConfigPath: import("zod").ZodString;
        dbName: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        wranglerConfigPath: string;
        dbName: string;
    }, {
        wranglerConfigPath: string;
        dbName: string;
    }>;
}, "strip", import("zod").ZodTypeAny, {
    driver: "d1";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
}, {
    driver: "d1";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
}>]>>;
export type StudioConfig = TypeOf<typeof studioConfigSchema>;
export type StudioConfigConnections = TypeOf<typeof studioConfidConnections>;
export declare const validateStudio: (options: any) => Promise<{
    schema: string | string[];
} & ({
    driver: "pg";
    dbCredentials: {
        type?: "params" | undefined;
        port?: number | undefined;
        password?: string | undefined;
        ssl?: boolean | undefined;
        host: string;
        user: string;
        database: string;
    };
} | {
    driver: "pg";
    dbCredentials: {
        type?: "url" | undefined;
        connectionString: string;
    };
} | {
    driver: "turso";
    dbCredentials: {
        authToken?: string | undefined;
        url: string;
    };
} | {
    driver: "libsql";
    dbCredentials: {
        url: string;
    };
} | {
    driver: "better-sqlite";
    dbCredentials: {
        url: string;
    };
} | {
    driver: "mysql2";
    dbCredentials: {
        port?: number | undefined;
        password?: string | undefined;
        type: "params";
        host: string;
        user: string;
        database: string;
    };
} | {
    driver: "mysql2";
    dbCredentials: {
        type: "url";
        connectionString: string;
    };
} | {
    driver: "d1";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
})>;
