import type { Resources } from '../resources/resources.js'; import type { ApiDocumentationComponentMetadataCollection } from '../api/api-documentation.js'; import type { CloneTarget } from './clone-component.js'; import type { CloneMove } from './clone-mode.js'; export type CloneScope = 'layout' | 'page'; export interface CloneTargetOption { label: string; value: CloneTarget; disabled: boolean; reasons: string[]; warning?: string; } export interface CloneTargetOptionsInput { stack: { iri: string; }[]; sourceIri: string; sourceType: string | undefined; componentMetadata: ApiDocumentationComponentMetadataCollection; resources: Pick; isDataPage: boolean; isEditingLayout: boolean; type: CloneScope; move?: CloneMove; resourcesConfig?: Record; } export interface CloneTargetOptions { options: CloneTargetOption[]; scope?: { type: CloneScope; switching: boolean; }; leavesLayout?: true; } export declare function distinctReasons(options: CloneTargetOption[]): string[]; export declare function cloneAnchorIndex(stack: { iri: string; }[]): number | undefined; export declare function cloneTargetOptions(input: CloneTargetOptionsInput): CloneTargetOptions;