import {BEAllProps, IEnhancement} from '../trans-render/be/types'; import {Specifier, DSS} from '../trans-render/dss/types'; export interface EndUserProps extends IEnhancement{ baseLink: string, baseURL: string, path: string, headers: HeadersInit | undefined, updateOn: 'input' | 'change' | 'submit', submitOptions:{ onlyAfter: Specifier, nudges: boolean, disableIfNotAllConditionsAreMet: boolean }, headerFields: Array } type BeforeToken = string; type TokenKey = string | undefined export interface IURLBuilder{ readonly tokens: Array<[BeforeToken, TokenKey]> } export interface AllProps extends EndUserProps{ updateCnt: number, readonly urlBuilder: IURLBuilder, readonly resolvedBaseURL: true, readonly fetchOptions: RequestInit, readonly isFetchReady: boolean, } export type AP = AllProps; export type PAP = Partial; export type ProPAP = Promise; export type BAP = AP & BEAllProps; export interface Actions { resolveBaseLink(self: BAP): PAP; specifyDefaultBaseURL(self: BAP): PAP; hydrate(self: BAP): ProPAP; updateAction(self: BAP): ProPAP; parsePath(self: BAP): ProPAP; suggestFetch(self: BAP): PAP; }