import { Name, Reversible } from "../generalTypes.js"; import { MigrationOptions } from "../../migrationOptions.js"; import { DropCastOptions } from "./dropCast.js"; //#region src/operations/casts/createCast.d.ts interface CreateCastWithFunctionOptions { functionName: Name; argumentTypes?: string[]; inout?: undefined; } interface CreateCastWithoutFunctionOptions { functionName?: undefined; argumentTypes?: undefined; inout?: undefined; } interface CreateCastWithInoutOptions { functionName?: undefined; argumentTypes?: undefined; inout: boolean; } type CreateCastOptions = (CreateCastWithFunctionOptions | CreateCastWithoutFunctionOptions | CreateCastWithInoutOptions) & { as?: 'ASSIGNMENT' | 'IMPLICIT'; }; type CreateCastFn = (fromType: string, toType: string, options: CreateCastOptions & DropCastOptions) => string; type CreateCast = Reversible; declare function createCast(mOptions: MigrationOptions): CreateCast; //#endregion export { CreateCast, CreateCastFn, CreateCastOptions, CreateCastWithFunctionOptions, CreateCastWithInoutOptions, CreateCastWithoutFunctionOptions, createCast };