export declare type Callback = {
    func: Function;
    acceptedArgs: number;
};
export declare class Inject {
    static buildPreinitializedStorage(filters: Record<string, InstanceType<typeof Inject> | Record<number, Callback[]>>): Record<string, Inject>;
    private callbacks;
    private doingAction;
    get filters(): {
        [priority: number]: Callback[];
    };
    /**
     * Check if any filter has been registered
     * @since
     *
     */
    hasFilter(functionToCheck?: Function | boolean): Function | boolean;
    /**
     * Add filter
     * @since
     *
     */
    addFilter(callback: Function, priority?: number, acceptedArgs?: number): void;
    /**
     * Remove filter
     * @since
     *
     */
    removeFilter(functionToRemove: Function, priority?: number): boolean;
    /**
     * Remove filter
     * @since
     *
     */
    removeAllFilters(priority?: boolean | number): void;
    applyFilters<T = unknown, R = T>(value: T, ...args: unknown[]): Promise<R>;
    doAction(...args: unknown[]): Promise<void>;
}
