import { PropertyFilterField, PropertyFilterToken } from './types';
import { ButtonProps } from '../Button/Button';
export type PropertyFilterCreatorProps = {
    fields: PropertyFilterField[];
    tokens: PropertyFilterToken[];
    onTokensChange: (tokens: PropertyFilterToken[]) => void;
    label?: string;
    disabled?: boolean;
    /** Size passed through to the trigger Button. Defaults to 'md'. */
    size?: ButtonProps['size'];
    /**
     * Called when the user picks a text (id-style) field. Consumers are expected
     * to render a pending applied-filter pill with an active input so the user
     * can type the value inline instead of in this popover.
     */
    onStartTextFilter?: (fieldId: string) => void;
    /**
     * Field ids hidden from the Add Filter dropdown. Use to prevent users from
     * recreating a filter that an upstream context already owns (e.g. the agent
     * id when viewing the agent-scoped traces tab).
     */
    hiddenFieldIds?: readonly string[];
};
/**
 * Minimal Linear-style filter creator: a `+ Filter` button whose popover walks
 * the user through property → value → commit. For id-style text fields, the
 * picker closes immediately and the applied-filter pill owns the input. For
 * `pick-multi` fields (e.g. Root Entity Name) hovering the item opens a
 * separate side popover with checkboxes — each check adds its own applied
 * filter and the main popover stays open so users can pick many.
 */
export declare function PropertyFilterCreator({ fields, tokens, onTokensChange, label, disabled, size, onStartTextFilter, hiddenFieldIds, }: PropertyFilterCreatorProps): import("react/jsx-runtime").JSX.Element;
