import { DTODataSourceStorybookCreatePayload, DTOStorybookEntryReplaceAction, DTOStorybookImportPayload } from "@supernova-studio/client";
import { StorybookEntry } from "../../model/storybook/SDKStorybookEntry";
import { FigmaStructure } from "../../model/support/SDKFigmaStructure";
import { FigmaStructureDetail } from "../../model/support/SDKFigmaStructureDetail";
import { Source, SourceRemoteModelCloud } from "../../model/support/SDKSource";
import { DataCore } from "../data/SDKDataCore";
import { RemoteBrandIdentifier, RemoteVersionIdentifier } from "./SDKRemoteIdentifiers";
export declare class AreaDataSources {
    /** Internal: Engine */
    private dataCore;
    constructor(dataCore: DataCore);
    /** Retrieves a single source by its id
     * @param from - Remote version to fetch from
     * @returns Single data source
     */
    getDataSourceById(from: RemoteVersionIdentifier, sourceId: string): Promise<Source>;
    /** Retrieves all sources associated with specified design system
     * @param from - Remote version or design system identifier
     * @returns All data sources for the specified design system
     */
    /**
     * @deprecated versionId is not required; prefer using the `designSystemId` only.
     */
    getDataSources(from: RemoteVersionIdentifier): Promise<Array<Source>>;
    getDataSources(from: {
        designSystemId: string;
    }): Promise<Array<Source>>;
    /** Retrieves all figma frames structures
     * @param from - Remote version to fetch from
     * @returns All data sources in the specified version
     */
    getFigmaNodeStructures(from: RemoteVersionIdentifier): Promise<Array<FigmaStructure>>;
    /** Retrieves figma frame structure detail
     * @param from - Remote version to fetch from
     * @returns All data sources in the specified version
     */
    getFigmaNodeStructureDetail(from: RemoteVersionIdentifier & {
        figmaStructureId: string;
    }): Promise<FigmaStructureDetail>;
    getStorybookEntries(from: RemoteVersionIdentifier): Promise<StorybookEntry[]>;
    linkFigmaSource(from: RemoteBrandIdentifier, url: string, options: {
        scopes: {
            tokens: boolean;
            components: boolean;
            assets: boolean;
            documentationFrames: boolean;
            isUnpublishedContentFallbackEnabled: boolean;
        };
        autoImport: SourceRemoteModelCloud["autoImportMode"];
        themeId: string | null;
    }): Promise<Source>;
    updateFigmaSource(from: RemoteVersionIdentifier, sourceId: string, options: {
        scopes?: {
            tokens: boolean;
            components: boolean;
            assets: boolean;
            documentationFrames: boolean;
            isUnpublishedContentFallbackEnabled: boolean;
        };
        autoImport?: SourceRemoteModelCloud["autoImportMode"];
        themeId?: string | null;
    }): Promise<Source>;
    linkStorybookSource(from: RemoteVersionIdentifier, payload: DTODataSourceStorybookCreatePayload): Promise<Source>;
    updateStorybookSource(from: RemoteVersionIdentifier, payload: DTOStorybookImportPayload): Promise<import("../../model/storybook/SDKStorybookUpdate").StorybookUpdate>;
    replaceStorybookStory(from: RemoteVersionIdentifier, storyId: string, payload: DTOStorybookEntryReplaceAction): Promise<any>;
    deleteFigmaSource(from: RemoteVersionIdentifier, sourceId: string): Promise<void>;
}
