/**
 * @file ChatComposerDrawer.tsx
 * @input Uses React, StyleX, theme tokens
 * @output Exports ChatComposerDrawer component
 * @position Collapsible drawer panel for ChatComposer.
 *   Supports expanded (full content) and collapsed (count + label) states
 *   with fade animation and grid-template-rows height transition.
 *   The collapse toggle exposes aria-expanded + aria-controls linking it to
 *   the content region (disclosure pattern).
 *
 * SYNC: When modified, update:
 * - /packages/core/src/Chat/index.ts (exports)
 * - /packages/cli/assets/templates/blocks/components/ChatComposerDrawer/ (block examples)
 */
import { type ReactNode } from 'react';
import type { StyleXStyles } from '@stylexjs/stylex';
import type { BaseProps } from '../BaseProps';
export interface ChatComposerDrawerProps extends BaseProps<HTMLDivElement> {
    ref?: React.Ref<HTMLDivElement>;
    /**
     * Content to render inside the drawer — attachments, context chips, previews, etc.
     */
    children: ReactNode;
    /**
     * Total item count — shown in the collapsed badge.
     * When omitted, the component doesn't support collapse.
     */
    count?: number;
    /**
     * Label shown next to the count in collapsed state.
     * @default 'Items'
     */
    label?: string;
    /**
     * Whether the drawer is collapsed.
     * Uncontrolled by default (internal toggle).
     */
    isCollapsed?: boolean;
    /**
     * Default collapsed state for uncontrolled usage.
     * @default false
     */
    defaultIsCollapsed?: boolean;
    /**
     * Callback when collapsed state changes.
     */
    onCollapsedChange?: (isCollapsed: boolean) => void;
    /**
     * StyleX styles for layout customization (margins, positioning, sizing).
     * Must be a `stylex.create()` value — not an inline style object.
     *
     * @example
     * ```
     * const styles = stylex.create({ wrapper: { marginTop: 8 } });
     * <ChatComposerDrawer xstyle={styles.wrapper} />
     * ```
     */
    xstyle?: StyleXStyles;
    className?: string;
    style?: React.CSSProperties;
    'data-testid'?: string;
}
/**
 * Collapsible drawer panel for a chat composer.
 * Use for attachments, context chips, or any supplementary content above the input.
 *
 * @example
 * ```
 * <ChatComposerDrawer count={3}>
 *   <AttachmentThumbnail />
 *   <AttachmentThumbnail />
 * </ChatComposerDrawer>
 * ```
 */
export declare function ChatComposerDrawer({ ref, children, count, label: labelFromProps, isCollapsed: controlledCollapsed, defaultIsCollapsed, onCollapsedChange, xstyle, className, style, 'data-testid': testId, ...htmlProps }: ChatComposerDrawerProps): React.ReactElement;
export declare namespace ChatComposerDrawer {
    var displayName: string;
}
//# sourceMappingURL=ChatComposerDrawer.d.ts.map