import { CodeComponent } from "../../model/code-components/SDKCodeComponent";
import { CodeComponentMarkdownResult, CodeComponentReference } from "../../model/code-components/SDKCodeComponentMarkdown";
import { CodeComponentUsage } from "../../model/code-components/SDKCodeComponentUsage";
import { CodeHistorySnapshot } from "../../model/code-components/SDKCodeHistorySnapshot";
import type { CodeHistoryQuery } from "../../model/code-components/SDKCodeHistorySnapshot";
import { CodeScanListItem } from "../../model/code-components/SDKCodeScanListItem";
import { DataCore } from "../data/SDKDataCore";
export declare class AreaCodeComponents {
    /** Internal: Engine */
    private dataCore;
    constructor(dataCore: DataCore);
    /** Fetches all remote code components in the design system
     * @param designSystemId - ID of the design system
     * @returns All code components in the specified design system
     */
    getCodeComponents(designSystemId: string): Promise<Array<CodeComponent>>;
    /** Fetches AI-generated markdown for a requested batch of code components
     * @param designSystemId - ID of the design system
     * @param components - Components to fetch markdown for, as { packageName, componentName } pairs
     * @returns Resolved markdown for found components and a list of components without markdown
     */
    getCodeComponentMarkdown(designSystemId: string, components: Array<CodeComponentReference>): Promise<CodeComponentMarkdownResult>;
    /** Fetches all remote code component usage in the design system
     * @param designSystemId - ID of the design system
     * @returns All code component usage in the specified design system
     */
    getCodeComponentUsage(designSystemId: string): Promise<Array<CodeComponentUsage>>;
    /** Fetches code scan history with optional filters
     * @param designSystemId - ID of the design system
     * @param query - Optional filters (time range, packages, component names, repos)
     * @returns Code history snapshots
     */
    getCodeHistory(designSystemId: string, query?: CodeHistoryQuery): Promise<Array<CodeHistorySnapshot>>;
    /** Fetches all code scans for a design system
     * @param designSystemId - ID of the design system
     * @returns All code scans
     */
    getCodeScans(designSystemId: string): Promise<Array<CodeScanListItem>>;
    /** Deletes a specific code scan
     * @param designSystemId - ID of the design system
     * @param scanId - ID of the scan to delete
     */
    deleteCodeScan(designSystemId: string, scanId: string): Promise<void>;
}
