/**
 * @file Citation.tsx
 * @input Uses React, StyleX, theme tokens
 * @output Exports Citation component for inline citation references
 * @position Core implementation; consumed by index.ts
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/Citation/index.ts (exports if types change)
 * - /packages/core/src/Citation/Citation.doc.mjs (props table, features)
 * - /packages/core/src/Citation/Citation.test.tsx (tests for new/changed behavior)
 * - /apps/storybook/stories/Citation.stories.tsx (storybook stories)
 * - /packages/cli/assets/templates/blocks/components/Citation/ (showcase blocks)
 */
import type React from 'react';
import type { ReactNode } from 'react';
import type { BaseProps } from '../BaseProps';
export interface CitationSource {
    title?: string;
    url?: string;
    /**
     * Image URL for a favicon or source logo, rendered as `<img src>` inside the
     * icon circle. This is the idiomatic field for image sources (mirrors
     * `Avatar`/`Thumbnail` `src`). When both `src` and a non-string `icon` are
     * provided, `icon` wins.
     */
    src?: string;
    /**
     * Source icon shown before the label text (label variant only). Accepts:
     * - a React node / Astryx `<Icon>` / SVG element — rendered as-is, or
     * - a string image URL — rendered as `<img src>` for backward compatibility
     *   with callers that passed a favicon URL here.
     *
     * Note: unlike icon slots elsewhere in the system, a bare string is treated
     * as an image URL (not a semantic icon name) to preserve the original
     * favicon behavior. Pass an Astryx `<Icon>` (or other node) for a real icon.
     */
    icon?: ReactNode;
}
export interface CitationProps extends BaseProps<HTMLElement> {
    ref?: React.Ref<HTMLElement>;
    source: CitationSource;
    number: number;
    variant?: 'label' | 'number';
}
export declare function Citation({ ref, source, number, variant, xstyle, className, style, 'data-testid': testId, ...rest }: CitationProps): React.ReactElement;
export declare namespace Citation {
    var displayName: string;
}
//# sourceMappingURL=Citation.d.ts.map