import { FindAction } from '../actions/FindAction';
import { MablAction } from '../MablAction';
import { CrossPlatformKeyPress, SendKeyStepDescriptor } from '../types/SendKeyStepDescriptor';
import { MablStepWithFindAction } from '../MablStepWithFindAction';
export declare class SendKeyStep extends MablStepWithFindAction<SendKeyStepDescriptor> {
    static readonly stepName = "SendKeys";
    static readonly actionCode = "send_keys";
    static readonly mablScriptStepNames: string[];
    static readonly yamlMablScriptNames: string[];
    keys: CrossPlatformKeyPress[];
    private static readonly modifierKeyHumanizedMap;
    private static readonly modifierKeyIdentifierMap;
    private static readonly specialKeys;
    constructor(descriptor: SendKeyStepDescriptor, findAction?: FindAction);
    private isValidDescriptor;
    static validateActionsAndGetFindAction(name: string, actions: MablAction[]): FindAction;
    static validateKeys(name: string, args: any[]): CrossPlatformKeyPress[];
    getStepName(): string;
    static fromYaml(_stepName: string, stepArgs: {
        [key: string]: any;
    }): SendKeyStep;
    static fromLegacyMablscript(args: any[], actions: MablAction[]): SendKeyStep;
    toMablscript(): string;
    getInputVariables(): string[];
    stepDescription(): string;
    private isPasswordField;
    private generateHumanizedKeys;
    private humanizeKeyInfo;
    private generateHumanizedKey;
    private static keyIsSpecial;
    private static getActiveModifiers;
    private static getModifiers;
    private isEmpty;
    private static pick;
    private static pickBy;
}
//# sourceMappingURL=SendKeyStep.d.ts.map