import type { Kind, URIS, URIS_ } from './HKT'; export { /** * @since 0.0.1 */ Kind }; /** * @since 0.0.1 */ export declare type URISIndexedAny = Readonly>; /** * @since 0.0.1 */ export declare type AnyEnv = Partial; /** * @since 0.0.1 */ export interface GenConfig { (a: A, r: R, k: K): A; } /** * @since 0.0.1 */ export declare type NoEnv = unknown; /** * @since 0.0.1 */ export declare type MapToGenConfig = { [k in URIS_]?: GenConfig>; }; /** * @since 0.0.1 */ export interface ConfigType { _E: E; _A: A; readonly ['HKT']: never; } /** * @since 0.0.1 */ export declare type ConfigsForType = MapToGenConfig, K>; /** * @since 0.0.1 */ export declare type ThreadURI = URI extends keyof C ? C[URI] : unknown; /** * @since 0.0.1 */ export declare const getApplyConfig: (uri: Uri) => , K>(config?: { [k in Uri]?: GenConfig[Uri], R, K>; }) => GenConfig[Uri], R, K>;