import { LitElement } from 'lit';
export interface CopyToClipboardProps {
    copydata?: string;
    buttonClasses?: string;
}
declare const CopyToClipboard_base: (new (...args: any[]) => import("../../util/ClipboardMixin.js").ClipboardMixinInterface) & (new (...args: any[]) => import("../../util/ComponentStatesMixin.js").ComponentStatesMixinInterface) & (new (...args: any[]) => import("../../util/EventEmitterMixin.js").EventEmitterMixinInterface) & (new (...args: any[]) => import("../../util/ReadyMixin.js").ReadyMixinInterface) & typeof LitElement;
/**
 * A button component that copies text to the system clipboard.
 *
 * Provides visual feedback when text is successfully copied by applying
 * a temporary state that can be styled with CSS.
 *
 * Button styling is inherited from `btu-button-*` classes. Override appearance
 * by passing custom classes via the `buttonClasses` attribute.
 *
 * @element btu-copy-to-clipboard
 *
 * @fires {CustomEvent} btu-copy-to-clipboard-ready - Fired after first render and initialization
 * @fires {CustomEvent} btu-copy-to-clipboard-copied - Fired when text is successfully copied to clipboard
 *
 * @cssstate btu-copy-to-clipboard-copied - Applied briefly after a successful copy, targetable via :state(btu-copy-to-clipboard-copied)
 *
 * @example
 * ```html
 * <!-- Basic usage -->
 * <btu-copy-to-clipboard copydata="https://example.com/cms/content/edit">
 *   Copy Link
 * </btu-copy-to-clipboard>
 * ```
 */
export default class CopyToClipboard extends CopyToClipboard_base {
    /**
     * The text to be copied to the system clipboard.
     * @attr
     */
    copydata?: string;
    /**
     * Custom CSS classes for the button. If provided, replaces the default classes.
     * @attr
     */
    buttonClasses?: string;
    /** @internal */
    private label?;
    /** @internal */
    private ariaLabelOverride?;
    connectedCallback(): void;
    firstUpdated(): void;
    /**
     * Copies the copydata to the system clipboard.
     * Displays a success state for 3 seconds after copying.
     */
    copy(): Promise<void>;
    createRenderRoot(): this;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'btu-copy-to-clipboard': CopyToClipboard;
    }
}
export {};
//# sourceMappingURL=CopyToClipboard.d.ts.map