import type { Request } from 'express'; export declare type UserProfile = { sub: string; id: number; username: string; iat: number; exp: number; }; export declare type Editable = { -readonly [K in keyof T]: T[K] }; export declare type GqlContext = { req: Request, user: Partial }; export declare type PrimitiveType = string | number | boolean | null | undefined | Date | symbol | bigint; export declare type Hint = { [P in keyof T]?: T[P] extends PrimitiveType ? T[P] : Hint } & Record; export declare type HintWithValueType = { [P in keyof T]?: T[P] extends PrimitiveType ? TType : Hint } & Record; type NonFunctionKeyNames = Exclude<{ [key in keyof T]: T[key] extends Function ? never : key; }[keyof T], undefined>; type RemoveFunctions = Pick>; export declare type DtoOf = RemoveFunctions;