import type { ComponentInterface } from '../../stencil-public-runtime';
import type { Color, StyleEventDetail } from '../../interface';
/**
 * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
 * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
 *
 * @slot - Content is placed between the named slots if provided without a slot.
 * @slot start - Content is placed to the left of the toolbar text in LTR, and to the right in RTL.
 * @slot secondary - Content is placed to the left of the toolbar text in the `"ios"` theme, and directly to the right in the `"md"` theme.
 * @slot primary - Content is placed to the right of the toolbar text in the `"ios"` theme, and to the far right in the `"md"` theme.
 * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
 *
 * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
 * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
 * @part content - The container for the default slot, wrapping content provided without a named slot.
 */
export declare class Toolbar implements ComponentInterface {
    private childrenStyles;
    el: HTMLIonToolbarElement;
    /**
     * The color to use from your application's color palette.
     * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
     * For more information on colors, see [theming](/docs/theming/basics).
     */
    color?: Color;
    componentWillLoad(): void;
    componentDidLoad(): void;
    /**
     * Updates the CSS custom properties for slot widths
     * This ensures that slots shown by their met conditions
     * have a minimum width matching their required slot
     */
    private updateSlotWidths;
    /**
     * Measure the widths of the slots and update the CSS custom properties
     * for the minimum width of each pair of slots based on the largest width in each pair.
     * Returns whether we successfully measured all of the slots we expect to have content.
     * If not, the content probably hasn't rendered yet and we need to try again.
     */
    private measureAndUpdateSlots;
    private updateSlotClasses;
    private hasSlotContent;
    childrenStyle(ev: CustomEvent<StyleEventDetail>): void;
    render(): any;
}
