import { Connection } from '../../skychat/Connection.js'; import { GlobalPlugin } from '../GlobalPlugin.js'; import { Gallery } from './Gallery.js'; export type VideoStreamInfo = Array<{ index: number; lang: string | null; type: 'Video' | 'Audio' | 'Subtitle'; info: string; }>; export type OngoingConvert = { status: 'converting' | 'converted' | 'error'; source: string; target: string; info: VideoStreamInfo; selectedStreams: Array; lastUpdate: string | null; }; /** * */ export declare class VideoConverterPlugin extends GlobalPlugin { static readonly commandName = "convert"; static readonly commandAliases: string[]; readonly gallery: Gallery; readonly minRight: number; readonly opOnly: boolean; readonly rules: { convertinfo: { minCount: number; maxCount: number; params: { name: string; pattern: RegExp; }[]; }; convert: { minCount: number; maxCount: number; params: { name: string; pattern: RegExp; }[]; }; convertlist: { minCount: number; maxCount: number; }; }; /** * Converts in progress */ readonly converts: Array; run(alias: string, param: string, connection: Connection): Promise; runConvertInfo(filePath: string, connection: Connection): Promise; runConvert(filePath: string, streamIndexes: number[], connection: Connection): Promise; runConvertList(connection: Connection): Promise; getVideoStreamInfo(filePath: string): Promise; onNewConnection(connection: Connection): Promise; syncConvertList(): Promise; }