import { ExpectedExports } from "../types"; declare const ActionProof: unique symbol; export type ActionReceipt = { [ActionProof]: never; }; export function noActions(): ActionReceipt { return {} as ActionReceipt; } declare const MigrationProof: unique symbol; export type MigrationReceipt = { [MigrationProof]: never; }; export function noMigrationsUp(): MigrationReceipt { return {} as MigrationReceipt; } export function migrationUp(fn: () => Promise): MigrationReceipt { fn(); return {} as MigrationReceipt; } declare const MigrationDownProof: unique symbol; export type MigrationDownReceipt = { [MigrationDownProof]: never; }; export function noMigrationsDown(): MigrationDownReceipt { return {} as MigrationDownReceipt; } export function migrationDown( fn: () => Promise, ): MigrationDownReceipt { fn(); return {} as MigrationDownReceipt; } export function setupInit( fn: ( ...args: Parameters ) => Promise<[MigrationReceipt, ActionReceipt]>, ) { const initFn: ExpectedExports.init = (...args) => fn(...args); return initFn; } export function setupUninit( fn: ( ...args: Parameters ) => Promise<[MigrationDownReceipt]>, ) { const uninitFn: ExpectedExports.uninit = (...args) => fn(...args); return uninitFn; }