UNPKG

@hank.chat/types

Version:
43 lines (42 loc) 1.72 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; /** Arguments for a plugin or a plugins subcommands. */ export interface Argument { /** Argument name. */ name: string; /** Argument description. */ description: string; /** Optional argument default value. */ defaultValue?: string | undefined; /** Whether or not this argument is required. */ required: boolean; /** Sets the short version of the argument without the preceding -. */ short?: string | undefined; /** Sets the long version of the argument without the preceding --. */ long?: string | undefined; } export declare const Argument: MessageFns<Argument>; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends { $case: string; value: unknown; } ? { $case: T["$case"]; value?: DeepPartial<T["value"]>; } : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; type KeysOfUnion<T> = T extends T ? keyof T : never; type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; }; interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create<I extends Exact<DeepPartial<T>, I>>(base?: I): T; fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T; } export {};