/** @packageDocumentation
 * @module ToolSettings
 */
import "./Docked.scss";
import type { CommonProps } from "@itwin/core-react";
import * as React from "react";
/** @internal */
export declare function onOverflowLabelAndEditorResize(): void;
/** Properties of [[DockedToolSettings]] component.
 * @internal
 */
export interface DockedToolSettingsProps extends CommonProps {
    /** Tool settings content. */
    children?: React.ReactNode;
    /** Container for overflown entries. */
    panelContainer?: React.ComponentType<{
        children?: React.ReactNode;
    }>;
}
/** Component that displays tool settings as a bar across the top of the content view.
 * @internal
 */
export declare function DockedToolSettings(props: DockedToolSettingsProps): React.JSX.Element;
/** Returns key of a child. Must be used along with React.Children.toArray to preserve the semantics of children.
 * @internal
 */
export declare function getChildKey(child: React.ReactNode, index: number): string;
/** Returns a subset of docked entry keys that exceed given width and should be overflown.
 * @internal
 */
export declare function getOverflown(width: number, docked: ReadonlyArray<readonly [string, number]>, overflowWidth: number, activeIndex?: number, gapSize?: number): string[];
/** Hook that returns a list of overflown children keys.
 * @internal
 */
export declare function useOverflow(itemKeys: ReadonlyArray<string>, activeItemIndex?: number): [
    /** Keys of overflown items. */
    ReadonlyArray<string> | undefined,
    /** Function to update container size. */
    (containerSize: number) => void,
    /** Function to update overflow button size. */
    (overflowButtonSize: number) => void,
    /** Returns a function to update an entry size for a given key. */
    (key: string) => (entrySize: number) => void,
    /** Function to update gap size. */
    (gapSize: number) => void
];
interface DockedToolSettingsEntryContextArgs {
    readonly isOverflown: boolean;
    readonly onResize: (w: number) => void;
}
/** @internal */
export declare function useToolSettingsEntry(): DockedToolSettingsEntryContextArgs;
/** @internal */
export declare function eqlOverflown(prev: readonly string[] | undefined, value: readonly string[]): boolean;
export {};
//# sourceMappingURL=Docked.d.ts.map