1 | import Command, { flags } from '@oclif/command';
|
2 | import * as OClifConfig from '@oclif/config';
|
3 | import _inquirer from '@cto.ai/inquirer';
|
4 | import { Config, User, Team, ValidationFields, SigninPipeline, Tokens, Services } from './types';
|
5 | declare 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 | }
|
69 | export { CTOCommand as default, flags };
|