import type { Intersection } from 'tslang'; import * as x from 'x-value'; declare global { namespace Backit { interface BackStates { } type BackStatesDefinition = Intersection; } } export type BackStatesInReturn = { [TKey in keyof Backit.BackStatesDefinition]?: Backit.BackStatesDefinition[TKey] extends infer TInput extends x.TypeInMediumsPartial ? x.MediumTypeOf : never; } extends infer TBackStates ? { states?: TBackStates | TBackStates[]; } : never; export type BackStatesDefinition = Record>; export type GeneralXBackStatesInReturn = x.XTypeOfValue<{ states?: object | object[]; }>; export declare function getXBackStatesInReturn(): GeneralXBackStatesInReturn; export declare function extendBackStates(backStates: Backit.BackStates[keyof Backit.BackStates]): void;