import { AppContext, ObjectDirective } from 'vue';
import { LoadingInstance } from './loading.js';
import { LoadingOptions } from './types.js';
declare const INSTANCE_KEY: unique symbol;
export type LoadingBinding = boolean | LoadingOptions;
export interface ElementLoading extends HTMLElement {
    [INSTANCE_KEY]?: {
        appContext: AppContext | null;
        instance: LoadingInstance;
        options: LoadingOptions;
    } | null;
}
type LoadingDirective = ObjectDirective<ElementLoading, LoadingBinding> & {
    _context: AppContext | null;
};
declare const vLoading: LoadingDirective;
export default vLoading;
