import type { Be, ctx__be_T, ctx__get_T, wide_ctx_T } from '../be_/index.js' import type { be_rmemo_add_def_T, memo_T, sig_T } from '../rmemo/index.js' export declare function be_memo_pair_< val_T, ns_T extends string = '', E = unknown, ctx_T extends wide_ctx_T = wide_ctx_T, >(be:Be, ns_T, ctx_T>):be_memo_pair_T export declare function be_memo_pair_< val_T, ns_T extends string = '', E = unknown, ctx_T extends wide_ctx_T = wide_ctx_T, >( val__new:(ctx:ctx_T, memo:sig_T)=>val_T, add_def_a1?:be_rmemo_add_def_T[] ):be_memo_pair_T export declare function ns_be_memo_pair_< val_T, ns_T extends string, E = unknown, ctx_T extends wide_ctx_T = wide_ctx_T, >( ns:ns_T, val__new:(ctx:ctx_T, memo:sig_T)=>val_T, add_def_a1?:be_rmemo_add_def_T[] ):be_memo_pair_T export declare function id_be_memo_pair_< val_T, E = unknown, ctx_T extends wide_ctx_T<''> = wide_ctx_T<''>, >( id:string, val__new:(ctx:ctx_T, memo:sig_T)=>val_T, add_def_a1?:be_rmemo_add_def_T[] ):be_memo_pair_T export declare function ns_id_be_memo_pair_< val_T, ns_T extends string, E = unknown, ctx_T extends wide_ctx_T = wide_ctx_T, >( ns:ns_T, id:string, val__new:(ctx:ctx_T, memo:sig_T)=>val_T, add_def_a1?:be_rmemo_add_def_T[] ):be_memo_pair_T export type be_memo_pair_T< val_T, ns_T extends string = '', E = unknown, ctx_T extends wide_ctx_T = wide_ctx_T, > = [ ctx__be_T, ns_T, ctx_T>, ctx__get_T, ]