import type * as P from "@principia/prelude";
import type { NonEmptyArray, URI, V } from "./model";
/**
* ```haskell
* extend_ :: Extend w => (w a, (w a -> b)) -> w b
* ```
*
* @category Extend
* @since 1.0.0
*/
export declare const extend_: (wa: NonEmptyArray, f: (wa: NonEmptyArray) => B) => NonEmptyArray;
/**
* ```haskell
* extend :: Extend w => (w a -> b) -> w a -> w b
* ```
*
* @category Extend
* @since 1.0.0
*/
export declare const extend: (f: (wa: NonEmptyArray) => B) => (wa: NonEmptyArray) => NonEmptyArray;
/**
* ```haskell
* duplicate :: Extend w => w a -> w (w a)
* ```
*
* @category Extend
* @since 1.0.0
*/
export declare const duplicate: (wa: NonEmptyArray) => NonEmptyArray>;
export declare const Extend: P.Extend<[URI], V>;
//# sourceMappingURL=extend.d.ts.map