import { Type } from '@angular/core';
import { TanStackDevtoolsPluginProps } from '@tanstack/devtools';
export interface DevtoolsPluginProps extends TanStackDevtoolsPluginProps {
    [key: string]: any;
}
export type TanStackDevtoolsAngularPluginRenderFn<TInputs extends DevtoolsPluginProps> = ((inputs: () => TInputs, hostElement: HTMLElement) => () => void) | Type<unknown> | null;
export type TanStackDevtoolsAngularPluginRender<T extends DevtoolsPluginProps> = Type<any> | (() => TanStackDevtoolsAngularPluginRenderFn<T> | Promise<TanStackDevtoolsAngularPluginRenderFn<T>>);
export declare function createAngularPlugin<T extends DevtoolsPluginProps>({ render, ...config }: {
    name: string;
    id?: string;
    defaultOpen?: boolean;
    render: TanStackDevtoolsAngularPluginRender<T>;
}): readonly [(inputs?: T | (() => T)) => {
    render: TanStackDevtoolsAngularPluginRender<T>;
    inputs: T | (() => T) | undefined;
    name: string;
    id?: string;
    defaultOpen?: boolean;
}, () => {
    render: null;
    name: string;
    id?: string;
    defaultOpen?: boolean;
}];
