import 'dotenv/config';
import { Command } from '@oclif/core';
import type { SetRequired } from 'type-fest';
import type { OADAClient } from '@oada/client';
export interface Config<D extends DomainConfig = DomainConfig> {
    domains?: Record<string, D>;
    domain?: string;
    token?: string;
    tty?: boolean;
    ws?: boolean;
}
export type IConfig = Record<string, unknown> & Required<Config<SetRequired<DomainConfig, 'domain'>>>;
interface DomainConfig {
    token: string;
    domain?: string;
    connection?: Promise<OADAClient>;
}
export declare const configTypes: readonly [".json", ".ts", ".js"];
export default abstract class BaseCommand extends Command {
    static description: string;
    static baseFlags: {
        domain: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        token: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        tty: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
        ws: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
    };
    static flags: {};
    static strict: boolean;
    iconfig: IConfig;
    configFiles: readonly string[];
    init(): Promise<void>;
}
export {};
