/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { IFocusIndicatorAdapter } from './focus-indicator-adapter';
import { FocusIndicatorFocusMode } from './focus-indicator-constants';
export interface IFocusIndicatorFoundation {
    targetElement: HTMLElement | null;
    target: string | null;
    active: boolean;
    inward: boolean;
    circular: boolean;
    allowFocus: boolean;
    focusMode: FocusIndicatorFocusMode;
    initialize(): void;
    destroy(): void;
}
export declare class FocusIndicatorFoundation implements IFocusIndicatorFoundation {
    private _adapter;
    private _target;
    private _active;
    private _inward;
    private _circular;
    private _allowFocus;
    private _focusMode;
    private _interactionListener;
    constructor(_adapter: IFocusIndicatorAdapter);
    initialize(): void;
    destroy(): void;
    private _addListeners;
    private _removeListeners;
    private _onInteraction;
    get targetElement(): HTMLElement | null;
    set targetElement(value: HTMLElement | null);
    get target(): string | null;
    set target(value: string | null);
    get active(): boolean;
    set active(value: boolean);
    get inward(): boolean;
    set inward(value: boolean);
    get circular(): boolean;
    set circular(value: boolean);
    get allowFocus(): boolean;
    set allowFocus(value: boolean);
    get focusMode(): FocusIndicatorFocusMode;
    set focusMode(value: FocusIndicatorFocusMode);
}
