import { type ComponentDimensions } from './component-drag-data'; export type ElementInstallationMode = 'wrapped' | 'component-owned-sequence'; export type ElementInitialPropValue = string | number | boolean | null | readonly ElementInitialPropValue[] | Readonly; export type ElementInitialProps = Readonly>; export type ElementDependency = { readonly name: `@remotion/${string}`; readonly version: null; } | { readonly name: string; readonly version: string; }; export type ElementDragData = { type: 'remotion-element'; version: 1; element: { dependencies: ElementDependency[]; durationInFrames?: number; initialProps: ElementInitialProps | null; installationMode?: ElementInstallationMode; slug: string; displayName: string; sourceCode: string; dimensions: ComponentDimensions | null; }; }; export declare const isLowercaseElementFileName: (value: unknown) => value is string; export declare const makeElementFileNameFromSlug: (slug: string) => string | null; export declare const getElementComponentNameFromSourceCode: (sourceCode: string) => string | null; export declare function assertElementDependency(value: unknown): asserts value is ElementDependency; export declare const isElementDependency: (value: unknown) => value is ElementDependency; export declare const makeElementDragData: ({ dependencies, dimensions, displayName, durationInFrames, initialProps, slug, sourceCode, installationMode, }: Omit<{ dependencies: ElementDependency[]; durationInFrames?: number | undefined; initialProps: Readonly> | null; installationMode?: ElementInstallationMode | undefined; slug: string; displayName: string; sourceCode: string; dimensions: ComponentDimensions | null; }, "dependencies"> & { dependencies: ElementDependency[]; }) => ElementDragData; export declare const isElementInitialProps: (value: unknown) => value is Readonly> | null; export declare const hasValidElementInitialPropsForInstallationMode: ({ initialProps, installationMode, }: { initialProps: Readonly> | null; installationMode: ElementInstallationMode | undefined; }) => boolean; export declare const parseElementDragData: (value: string) => ElementDragData | null;