import type { Snippet } from 'svelte';
import type { HTMLAttributes } from 'svelte/elements';
import type { IconName } from './icons';
type State = `ready` | `success` | `error`;
type $$ComponentProps = Omit<HTMLAttributes<HTMLButtonElement>, `children`> & {
    content?: string;
    state?: State;
    disabled?: boolean;
    reset_sec?: number;
    on_copy_success?: (content: string) => void;
    on_copy_error?: (error: unknown, content: string) => void;
    global_selector?: string | null;
    global?: boolean;
    skip_selector?: string | null;
    as?: string;
    labels?: Record<State, {
        icon: IconName;
        text: string;
    }>;
    children?: Snippet<[
        {
            state: State;
            icon: IconName;
            text: string;
            disabled: boolean;
        }
    ]>;
};
declare const CopyButton: import("svelte").Component<$$ComponentProps, {}, "state">;
type CopyButton = ReturnType<typeof CopyButton>;
export default CopyButton;
