import { LitElement } from 'lit'; export interface CopyButtonProps { text?: string; label?: string; successLabel?: string; errorLabel?: string; timeout?: number; size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'ghost' | 'monochrome'; } /** * @slot icon-copy - Custom icon to show in the default (not copied) state * @slot icon-copied - Custom icon to show in the copied state * @slot icon-error - Custom icon to show when copy fails * * Note: If providing custom icons, both icon-copy and icon-copied slots must be provided together. Providing only one will throw an error. * * @csspart button - The icon button element * @csspart icon - The icon container (all states) * @csspart icon-copy - The copy icon (default state) * @csspart icon-copied - The checkmark icon (copied state) * @csspart icon-error - The error icon (error state) * * @fires copy - Fired when text is successfully copied. Detail: { text: string } * @fires copy-error - Fired when copy fails. Detail: { error: Error } */ export declare class AgCopyButton extends LitElement implements CopyButtonProps { static styles: import('lit').CSSResult; /** * The text to copy to the clipboard */ text: string; /** * The label for the button (aria-label) */ label: string; /** * The label to show when the text has been copied */ successLabel: string; /** * The label to show when copy fails */ errorLabel: string; /** * Duration in milliseconds to show the success state */ timeout: number; /** * Size of the button */ size: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** * Variant of the button */ variant: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'ghost' | 'monochrome'; private _isCopied; private _hasError; private _announcement; private _timeoutId?; constructor(); disconnectedCallback(): void; firstUpdated(): void; private _validateSlots; private _copyWithFallback; private _handleCopy; private _renderIcon; render(): import('lit').TemplateResult<1>; } //# sourceMappingURL=_CopyButton.d.ts.map