export type GraphBuilder= < Users extends Record, Roles extends Record]>, Parts extends Record, Desks extends Record, mode:"all"|"one", need:Partial>, ...make:Array]>, Pass extends Record< string, [ name:string, user:Partial >> >> ] > > ( params:{ user:Users, role:Roles, part:Parts, desk:Desks, pass:Pass, } ) =>void export type GraphLoader= < Users extends Record, Roles extends Record]>, Parts extends Record, Desks extends Record, mode:"all"|"one", need:Partial>, ...make:Array]>, Passes extends Record< string, [ name:string, user:Partial >> >> ] > > ( params:{ user:Users, role:Roles, part:Parts, desk:Desks, pass?:Passes, } ) =>void export type User = {name:string, desk:Set}; export type Role = {name:string, user:User[]}; export type Desk = {name:string, need:Part[], time:number[], make:Part[], mode:string, role:Role[]}; export type Work = [user:User, time:number, data:string]; export type Pass = {name:string, path:string}; export type Part = {name:string, pass:Map, need:Desk[], make:Desk[]};