UNPKG

3.55 kBTypeScriptView Raw
1import Command, { flags } from '@oclif/command';
2import * as OClifConfig from '@oclif/config';
3import _inquirer from '@cto.ai/inquirer';
4import { Config, User, Team, ValidationFields, SigninPipeline, Tokens, Services } from './types';
5declare abstract class CTOCommand extends Command {
6 accessToken: string;
7 user: User;
8 team: Team;
9 state: {
10 config: Config;
11 };
12 ux: {
13 print: (text: string) => Promise<void>;
14 prompt: <A>(questions: _inquirer.ListQuestion<Record<string, any>> | _inquirer.RawListQuestion<Record<string, any>> | _inquirer.ExpandQuestion<Record<string, any>> | _inquirer.CheckboxQuestion<Record<string, any>> | _inquirer.CheckboxPlusQuestion<Record<string, any>> | _inquirer.EmojiQuestion<Record<string, any>> | _inquirer.FuzzyPathQuestion<Record<string, any>> | _inquirer.ConfirmQuestion<Record<string, any>> | _inquirer.InputQuestion<Record<string, any>> | _inquirer.NumberQuestion<Record<string, any>> | _inquirer.PasswordQuestion<Record<string, any>> | _inquirer.EditorQuestion<Record<string, any>> | _inquirer.AutoCompleteQuestion<Record<string, any>> | _inquirer.DatePickerQuestion<Record<string, any>> | _inquirer.Question<Record<string, any>>[]) => Promise<A>;
15 colors: import("chalk").Chalk & {
16 supportsColor: import("chalk").ColorSupport;
17 } & {
18 callOutCyan: (text: string) => string;
19 actionBlue: (text: string) => string;
20 primary: (text: string) => string;
21 secondary: (text: string) => string;
22 tertiary: (text: string) => string;
23 successGreen: (text: string) => string;
24 errorRed: (text: string) => string;
25 multiPurple: (text: string) => string;
26 multiBlue: (text: string) => string;
27 multiOrange: (text: string) => string;
28 };
29 spinner: {
30 start: (text: string) => void;
31 stop: (text: string) => void;
32 };
33 wait: (duration: number) => Promise<void>;
34 url: (text: string, url: string) => string;
35 annotation: (text: string, annotation: string) => void;
36 table: typeof import("cli-ux/lib/styled/table").table;
37 tree: typeof import("cli-ux/lib/styled/tree").default;
38 progress: {
39 init: (options?: import("cli-progress").Options | undefined) => import("cli-progress").Bar;
40 };
41 notify: (options: object) => void;
42 inquirer: _inquirer.Inquirer;
43 };
44 services: Services;
45 constructor(argv: string[], config: OClifConfig.IConfig, services?: Services);
46 init(): Promise<void>;
47 isTokenValid: (tokens: Tokens) => boolean;
48 checkAndRefreshAccessToken: (tokens: Tokens) => Promise<Config>;
49 isLoggedIn(): Promise<Config>;
50 fetchUserInfo: ({ tokens }: SigninPipeline) => Promise<{
51 meResponse: {
52 me: {
53 id: any;
54 username: any;
55 email: any;
56 };
57 teams: Team[];
58 };
59 tokens: Tokens;
60 }>;
61 writeConfig: (oldConfigObj: Partial<Config> | null | undefined, newConfigObj: Partial<Config>) => Promise<Partial<Config>>;
62 readConfig: () => Promise<Config>;
63 clearConfig: () => Promise<void>;
64 invalidateKeycloakSession: () => Promise<void>;
65 initConfig: (tokens: Tokens) => Promise<Config>;
66 validateUniqueField(query: ValidationFields, accessToken: string): Promise<boolean>;
67 pickFromList(items: string[], question: string): Promise<string>;
68}
69export { CTOCommand as default, flags };