export declare const succeed: <A, K = any, Q = any, W = any, X = any, I = any, S = any, R = any, E = any>(a: A) => import("./definition.js").MergeAction<A>;
export declare const ap: <K, Q, W, X, I, S, R, E, A>(fa: import("./definition.js").MergeAction<A>) => <K2, Q2, W2, X2, I2, S2, R2, E2, B>(fab: import("./definition.js").MergeAction<(a: A) => B>) => import("./definition.js").MergeAction<B>;
export declare const tuple: <T extends import("./definition.js").MergeAction<unknown>[], K = any, Q = any, W = any, X = any, I = any, S = any, R = any, E = any>(...t: T & {
    readonly 0: import("./definition.js").MergeAction<unknown>;
}) => import("./definition.js").MergeAction<{ [K_1 in keyof T]: [T[K_1]] extends [import("./definition.js").MergeAction<infer A>] ? A : never; }>;
export declare const struct: <T extends import("./definition.js").MergeAction<unknown>[], K = any, Q = any, W = any, X = any, I = any, S = any, R = any, E = any>(...t: T & {
    readonly 0: import("./definition.js").MergeAction<unknown>;
}) => import("./definition.js").MergeAction<{ [K_1 in keyof T]: [T[K_1]] extends [import("./definition.js").MergeAction<infer A>] ? A : never; }>;
//# sourceMappingURL=dsl.d.ts.map