import { Command } from "@oclif/core";
import { StrictConfig } from "./config";
import { BibTeXDB } from "./bibtex";
import { NotionClient } from "@jitl/notion-api";
declare const baseFlags: {
    config: import("@oclif/core/lib/interfaces").OptionFlag<string>;
    help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
    token: import("@oclif/core/lib/interfaces").OptionFlag<string>;
};
export declare type BaseFlagTypes = typeof baseFlags;
declare const baseArgs: {
    name: string;
    required: boolean;
    hidden: boolean;
    description: string;
}[];
export declare type BaseArgTypes = typeof baseArgs;
declare abstract class BaseCommand extends Command {
    static strict: boolean;
    static flags: BaseFlagTypes;
    static args: BaseArgTypes;
    static examples: string[];
    protected appConfig: StrictConfig;
    protected BibTeX: BibTeXDB;
    protected BibTeXAuthors: string[];
    notion: NotionClient;
    init(): Promise<void>;
    catch(err: any): Promise<any>;
    finally(err: any): Promise<any>;
}
export default BaseCommand;
