import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { ConfigService, AppService, BaseTabComponent, ProfilesService } from 'tabby-core';
import { QuickCmds, ICmdGroup, SSHProfileOption } from '../api';
export declare class QuickCmdsModalComponent {
    modalInstance: NgbActiveModal;
    private ngbModal;
    private config;
    private app;
    private profilesService;
    cmds: QuickCmds[];
    quickCmd: string;
    appendCR: boolean;
    childGroups: ICmdGroup[];
    profiles: SSHProfileOption[];
    groupCollapsed: {
        [id: string]: boolean;
    };
    expandedGroups: {
        [id: string]: boolean;
    };
    private flattenedItems;
    private selectedGroupIndex;
    private selectedCmdIndex;
    private usageCount;
    constructor(modalInstance: NgbActiveModal, ngbModal: NgbModal, config: ConfigService, app: AppService, profilesService: ProfilesService);
    ngOnInit(): void;
    loadProfiles(): Promise<void>;
    quickSend(): void;
    quickSendAll(): void;
    sleep(ms: any): Promise<unknown>;
    _send(tab: BaseTabComponent, quick_cmd: QuickCmds): Promise<void>;
    executeSend(tab: BaseTabComponent, quick_cmd: QuickCmds): Promise<void>;
    _sendAll(cmd: QuickCmds): void;
    close(): void;
    send(cmd: QuickCmds, event: MouseEvent): void;
    addCommand(): void;
    edit(command: QuickCmds): void;
    clickGroup(group: ICmdGroup, event: MouseEvent): void;
    refresh(): void;
    private updateFlattenedItems;
    copyCommand(cmd: QuickCmds, event: MouseEvent): void;
    private showCopySuccessMessage;
    handleKeyDown(event: KeyboardEvent): void;
    private getSelectedIndex;
    private getSelectedItem;
    private getGroupScopes;
    private getGroupProfileIds;
    private describeProfile;
}
