export type OutputPanelDetails = Record<string, {
    label: string;
    value: string | number;
}>;
export type OutputPanelGroup = {
    label: string;
    value?: string | number;
    details?: OutputPanelDetails;
    color?: string;
    order?: number;
};
export type OutputPanelState = {
    groups: Record<string, OutputPanelGroup>;
    set: ((partial: ((state: OutputPanelState) => Partial<OutputPanelState>) | Partial<OutputPanelState>) => void);
    has: (id: string) => boolean;
};
/**
 * Global state for `OutputPanel`
 * @see {@link useOutputPanel}
 * @internal
 * @group Hooks
 */
export declare const useOutputPanelState: import('zustand').UseBoundStore<import('zustand').StoreApi<OutputPanelState>>;
/**
 * Allow interaction with the `OutputPanel` component.
 * The `OutputPanel` is mainly used as an example of the `Panel` component.
 * It is used in storybooks as a debug/info panel. Not recommended to use for production.
 * @see {@link OutputPanel}
 * @internal
 * @group Hooks
 */
export declare const useOutputPanel: () => {
    add: (id: string, group: OutputPanelGroup) => void;
    remove: (id: string) => void;
    removeAll: () => void;
    update: (id: string, value: string | number, details?: Record<string, string | number> | null) => void;
    has: (id: string) => boolean;
};
