import type { StudioProtocolFetcher } from './studio-discovery'; export type AddElementLibraryToStudioInput = { readonly url: string; readonly displayName?: string; }; export type AddElementLibraryToStudioErrorCode = 'invalid-url' | 'invalid-display-name' | 'unsupported-origin' | 'no-compatible-studio' | 'studio-upgrade-required' | 'no-configurable-target' | 'unsupported-protocol' | 'invalid-response' | 'target-expired' | 'no-config-file' | 'request-rejected' | 'request-timed-out' | 'network-error'; export type AddElementLibraryToStudioResult = { readonly success: true; readonly status: 'awaiting-confirmation'; readonly target: { readonly projectName: string | null; readonly studioOrigin: string; readonly studioVersion: string; }; } | { readonly success: false; readonly code: AddElementLibraryToStudioErrorCode; readonly message: string; }; export type AddElementLibraryToStudioDependencies = { readonly fetchFn: StudioProtocolFetcher; readonly now: () => number; readonly pageOrigin: string | null; readonly ports: readonly number[]; }; export type StudioProtocolAddElementLibraryRequest = { readonly operation: 'add-element-library'; readonly protocol: 'remotion-studio-protocol'; readonly protocolVersion: 1; readonly targetId: string; readonly url: string; readonly displayName: string | null; }; export declare const parseStudioProtocolAddElementLibraryRequest: (value: unknown) => StudioProtocolAddElementLibraryRequest | null; export declare const addElementLibraryToStudioWithDependencies: ({ displayName, url, }: { readonly displayName: string | null; readonly url: string; }, dependencies: AddElementLibraryToStudioDependencies) => Promise; export declare const addElementLibraryToStudio: ({ displayName, url, }: AddElementLibraryToStudioInput) => Promise;