import { AcylicConfigSpec, CyclicConfigSpec, ExecutingConfigSpec, FlatgridConfigSpec, FlowConfigSpec, GeneralKeyingConfig, MatrixConfigSpec, MenuConfigSpec, SpecialConfigSpec } from '../../keying/KeyingModeTypes';
import { AlloyComponent } from '../component/ComponentApi';
import * as Behaviour from './Behaviour';
export interface KeyingBehaviour<D extends GeneralKeyingConfig> extends Behaviour.AlloyBehaviour<KeyingConfigSpec, D> {
    config: (config: KeyingConfigSpec) => Behaviour.NamedConfiguredBehaviour<KeyingConfigSpec, D>;
    focusIn: (component: AlloyComponent) => void;
    setGridSize: (component: AlloyComponent, numRows: number, numColumns: number) => void;
}
export type KeyingConfigSpec = AcylicConfigSpec | CyclicConfigSpec | FlowConfigSpec | FlatgridConfigSpec | MatrixConfigSpec | ExecutingConfigSpec | MenuConfigSpec | SpecialConfigSpec;
export type KeyingModes = 'acyclic' | 'cyclic' | 'flow' | 'flatgrid' | 'matrix' | 'execution' | 'menu' | 'special';
declare const Keying: KeyingBehaviour<any>;
export { Keying };
//# sourceMappingURL=Keying.d.ts.map