import { default as React } from 'react';
import { AgentAttachment } from '@multiplayer-app/ai-agent-types';
import { ContextAttachmentParams } from '../../utils/contextAttachments';

export interface AttachContextButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    /**
     * Attachment (or builder) to add to the current composer draft.
     * Prefer passing a function if you need to compute timestamps/IDs at click time.
     */
    attachment?: AgentAttachment | (() => AgentAttachment | undefined);
    /**
     * Convenience: pass context params and let the library fill `id`, `type`, `schemaVersion`,
     * `capturedAt`, and default `source.url` under the hood.
     *
     * If both `attachment` and `context` are provided, `attachment` wins.
     */
    context?: ContextAttachmentParams | (() => ContextAttachmentParams | undefined);
    /**
     * Called after the attachment is added.
     */
    onAdded?: (attachment: AgentAttachment) => void;
}
/**
 * Minimal helper button for host apps to attach context from anywhere.
 * This is intentionally unstyled; bring your own UI.
 */
export declare const AttachContextButton: React.ForwardRefExoticComponent<AttachContextButtonProps & React.RefAttributes<HTMLButtonElement>>;
//# sourceMappingURL=AttachContextButton.d.ts.map