remotion
Version:
Make videos programmatically
62 lines (61 loc) • 2.91 kB
TypeScript
import React from 'react';
import type { TSequence } from './CompositionManager.js';
import type { CanUpdateSequencePropStatus, CodeValues, GetDragOverrides, GetEffectDragOverrides } from './use-schema.js';
export type SequenceManagerContext = {
registerSequence: (seq: TSequence) => void;
unregisterSequence: (id: string) => void;
sequences: TSequence[];
};
export type SequenceNodePath = Array<string | number>;
export declare const SequenceManager: React.Context<SequenceManagerContext>;
export type VisualModeCodeValues = {
codeValues: CodeValues;
};
export type VisualModeDragOverrides = {
getDragOverrides: GetDragOverrides;
getEffectDragOverrides: GetEffectDragOverrides;
};
export type VisualModeSetters = {
setDragOverrides: (nodePath: SequencePropsSubscriptionKey, key: string, value: unknown) => void;
clearDragOverrides: (nodePath: SequencePropsSubscriptionKey) => void;
setEffectDragOverrides: (nodePath: SequencePropsSubscriptionKey, effectIndex: number, key: string, value: unknown) => void;
clearEffectDragOverrides: (nodePath: SequencePropsSubscriptionKey, effectIndex: number) => void;
setCodeValues: (nodePath: SequencePropsSubscriptionKey, values: (prev: CanUpdateSequencePropsResponse) => CanUpdateSequencePropsResponse) => void;
};
export type CanUpdateEffectPropsResponseTrue = {
canUpdate: true;
callee: string;
effectIndex: number;
props: Record<string, CanUpdateSequencePropStatus>;
};
export type CannotUpdateEffectReason = 'not-found' | 'computed' | 'not-call-expression';
export type CannotUpdateSequenceReason = 'not-found' | 'error';
export type CanUpdateEffectPropsResponseFalse = {
canUpdate: false;
effectIndex: number;
reason: CannotUpdateEffectReason;
};
export type CanUpdateEffectPropsResponse = CanUpdateEffectPropsResponseTrue | CanUpdateEffectPropsResponseFalse;
export type CanUpdateSequencePropsResponseTrue = {
canUpdate: true;
props: Record<string, CanUpdateSequencePropStatus>;
effects: CanUpdateEffectPropsResponse[];
};
export type CanUpdateSequencePropsResponseFalse = {
canUpdate: false;
reason: CannotUpdateSequenceReason;
};
export type CanUpdateSequencePropsResponse = CanUpdateSequencePropsResponseTrue | CanUpdateSequencePropsResponseFalse;
export declare const makeSequencePropsSubscriptionKey: (key: SequencePropsSubscriptionKey) => string;
export declare const VisualModeCodeValuesContext: React.Context<VisualModeCodeValues>;
export declare const VisualModeDragOverridesContext: React.Context<VisualModeDragOverrides>;
export declare const VisualModeSettersContext: React.Context<VisualModeSetters>;
export type SequencePropsSubscriptionKey = {
absolutePath: string;
nodePath: SequenceNodePath;
sequenceKeys: string[];
effectKeys: string[][];
};
export declare const SequenceManagerProvider: React.FC<{
readonly children: React.ReactNode;
}>;