import { Component } from './component.js';
import ComponentContext from './component_context.js';
import type { ApplicationService } from '@adonisjs/core/types';
export default abstract class ComponentHook {
    component: Component;
    app: ApplicationService;
    setComponent(component: Component): void;
    setApp(app: ApplicationService): void;
    callBoot(...params: any[]): Promise<void>;
    callMount(params: object): Promise<void>;
    callHydrate(...params: any[]): Promise<void>;
    callUpdate(propertyName: string, fullPath: string, newValue: any): Promise<(...params: any[]) => Promise<void>>;
    callCall(method: string, params: any[], returnEarly?: boolean): any;
    callRender(...params: any[]): Promise<(...args: any[]) => Promise<void>>;
    callDehydrate(context: ComponentContext): Promise<void>;
    callDestroy(...params: any[]): Promise<void>;
    callException(...params: any[]): Promise<void>;
    getProperties(): any;
    getProperty(name: string): any;
    storeSet(key: string, value: any): void;
    storePush(key: string, value: any, iKey?: string): void;
    storeGet(key: string, defaultValue?: any): any;
    storeHas(key: string): boolean;
    protected boot(params: any[]): Promise<void>;
    protected mount(params: object): Promise<void>;
    protected hydrate(params: any[]): Promise<void>;
    protected dehydrate(context: ComponentContext): Promise<void>;
    protected destroy(params: any[]): Promise<void>;
    protected exception(params: any[]): Promise<void>;
    protected call(method: string, params: any[], returnEarly: boolean): Promise<void>;
}
