import { VNode } from "../VNode";
import { VBindingsPreparer } from "../VBindingsPreparer";
import { VDirective } from "./VDirective";
import { VDirectiveParseContext } from "./VDirectiveParseContext";
import { VDOMUpdater } from "../VDOMUpdater";
/**
* Directive for managing focus on form elements.
*
* Usage:
* Focus once on mount.
* Focus + select all on mount.
* Focus when expression transitions from falsy to truthy.
* Conditional focus + select all.
* Conditional focus + place caret at end.
*
* Behavior notes:
* - Without an expression, the element is focused exactly once after mount.
* - With an expression, focus fires only on the falsy -> truthy edge,
* so the user is not repeatedly re-focused on every reactive update.
* - If the value is already truthy on mount, the element is focused.
* - Focus is deferred via requestAnimationFrame so that elements which
* become visible just before this directive runs (e.g. inside v-if /
* display:none containers) can still receive focus reliably.
*/
export declare class VFocusDirective implements VDirective {
#private;
/**
* @param context The context for parsing the directive.
*/
constructor(context: VDirectiveParseContext);
/**
* @inheritdoc
*/
get name(): string;
/**
* @inheritdoc
*/
get vNode(): VNode;
/**
* @inheritdoc
*/
get needsAnchor(): boolean;
/**
* @inheritdoc
*/
get bindingsPreparer(): VBindingsPreparer | undefined;
/**
* @inheritdoc
*/
get domUpdater(): VDOMUpdater | undefined;
/**
* @inheritdoc
*/
get templatize(): boolean;
/**
* @inheritdoc
*/
get dependentIdentifiers(): string[];
/**
* @inheritdoc
*/
get onMount(): (() => void) | undefined;
/**
* @inheritdoc
*/
get onMounted(): (() => void) | undefined;
/**
* @inheritdoc
*/
get onUpdate(): (() => void) | undefined;
/**
* @inheritdoc
*/
get onUpdated(): (() => void) | undefined;
/**
* @inheritdoc
*/
get onUnmount(): (() => void) | undefined;
/**
* @inheritdoc
*/
get onUnmounted(): (() => void) | undefined;
/**
* @inheritdoc
*/
destroy(): void;
}