import type { IFloatingElementCommentCreateOptions } from '@univerjs-pro/shape-thread-comment';
import type { IFacadeThreadCommentInfo, ThreadCommentContent } from '@univerjs/thread-comment';
import { FDocumentChart } from '@univerjs-pro/docs-chart/facade';
export interface IFDocumentChartThreadCommentMixin {
    /**
     * Creates a comment anchored to this document chart.
     * @param content Plain text or a Univer document body for rich comment content.
     * @param options Optional stable IDs, author, attachments, and creation time.
     * @returns `true` when the create command succeeds; otherwise, `false`.
     * @throws {TypeError} If the content is empty.
     * @example
     * ```ts
     * const chart = univerAPI.getActiveDocument()?.getCharts()[0];
     * await chart?.createCommentAsync('Verify the chart source.');
     * ```
     */
    createCommentAsync(content: ThreadCommentContent, options?: IFloatingElementCommentCreateOptions): Promise<boolean>;
    /**
     * Returns locally loaded comments anchored to this chart's drawing ID.
     * @returns Matching comment threads in the current document.
     * @example
     * ```ts
     * const chart = univerAPI.getActiveDocument()?.getCharts()[0];
     * console.log(chart?.getComments().length ?? 0);
     * ```
     */
    getComments(): IFacadeThreadCommentInfo[];
    /**
     * Synchronizes known threads and returns comments anchored to this chart's drawing ID.
     * @returns A promise resolving to matching synchronized comment threads.
     * @example
     * ```ts
     * const chart = univerAPI.getActiveDocument()?.getCharts()[0];
     * const comments = chart ? await chart.listCommentsAsync() : [];
     * console.log(comments.length);
     * ```
     */
    listCommentsAsync(): Promise<IFacadeThreadCommentInfo[]>;
}
export declare class FDocumentChartThreadCommentMixin extends FDocumentChart implements IFDocumentChartThreadCommentMixin {
    /** @inheritdoc */
    createCommentAsync(content: ThreadCommentContent, options?: IFloatingElementCommentCreateOptions): Promise<boolean>;
    /** @inheritdoc */
    getComments(): IFacadeThreadCommentInfo[];
    /** @inheritdoc */
    listCommentsAsync(): Promise<IFacadeThreadCommentInfo[]>;
    private _commentTarget;
}
declare module '@univerjs-pro/docs-chart/facade' {
    interface FDocumentChart extends IFDocumentChartThreadCommentMixin {
    }
}
