import { scalar } from "./base.scalar"; import { conversion } from "./base.conversion"; import { httpComponent } from "./httpComponent"; import { entity } from "./base.entity"; export declare namespace pair { interface Core extends entity.Minimal { name?: scalar.Title; } type IdOrPair = Core | T; interface Routable { routePair(route: httpComponent.Router): void; } interface Listable, F extends scalar.AnyObject = scalar.AnyObject> { listPair(filter?: F, req?: httpComponent.Req): Array

; } interface Viewable, O extends scalar.AnyObject = scalar.AnyObject> { formatPair(key: T, req?: httpComponent.Req): P; formatPairArray(keys: Array, req?: httpComponent.Req): Array

; formatPairMap(keys: scalar.StrMap, req?: httpComponent.Req): scalar.StrMap

; /** * Views value for self */ viewPair(value: scalar.Unknown, opt?: conversion.CastBaseOne | O, req?: httpComponent.Req): P; /** * Views any type array */ viewPairArray(value: scalar.Unknown, opt?: conversion.CastBaseArray | O, req?: httpComponent.Req): Array

; /** * Views any type map */ viewPairMap(value: scalar.Unknown, opt?: conversion.CastBaseMap | O, req?: httpComponent.Req): scalar.StrMap

; } interface Readable, O extends scalar.AnyObject = scalar.AnyObject> { /** * Reads value for self */ readPair(value: scalar.Unknown, opt?: conversion.CastBaseOne | O, req?: httpComponent.Req): T | null; /** * Reads any type array */ readPairArray(value: scalar.Unknown, opt?: conversion.CastBaseArray | O, req?: httpComponent.Req): Array; /** * Reads any type map */ readPairMap(value: scalar.Unknown, opt?: conversion.CastBaseMap | O, req?: httpComponent.Req): scalar.StrMap; } interface ListableAsync, F extends scalar.AnyObject = scalar.AnyObject> { listPairAsync(filter?: F, req?: httpComponent.Req): Promise>; } interface ViewableAsync, O extends scalar.AnyObject = scalar.AnyObject> { formatPairAsync(key: T, req?: httpComponent.Req): Promise

; formatPairArrayAsync(keys: Array, req?: httpComponent.Req): Promise>; formatPairMapAsync(keys: scalar.StrMap, req?: httpComponent.Req): Promise>; /** * Views value for self */ viewPairAsync(value: scalar.Unknown, opt?: conversion.CastBaseOne | O, req?: httpComponent.Req): Promise

; /** * Views any type array */ viewPairArrayAsync(value: scalar.Unknown, opt?: conversion.CastBaseArray | O, req?: httpComponent.Req): Promise>; /** * Views any type map */ viewPairMapAsync(value: scalar.Unknown, opt?: conversion.CastBaseMap | O, req?: httpComponent.Req): Promise>; } interface ReadableAsync, O extends scalar.AnyObject = scalar.AnyObject> { /** * Reads value for self */ readPairAsync(value: scalar.Unknown, opt?: conversion.CastBaseOne | O, req?: httpComponent.Req): Promise; /** * Reads any type array */ readPairArrayAsync(value: scalar.Unknown, opt?: conversion.CastBaseArray | O, req?: httpComponent.Req): Promise>; /** * Reads any type map */ readPairMapAsync(value: scalar.Unknown, opt?: conversion.CastBaseMap | O, req?: httpComponent.Req): Promise>; } }