import { ColorThemeType, themeList } from './config.js'; import { FontOptions, FontUtils } from './utils/font.js'; import { Logger } from './utils/logger.js'; import { SnapAppBrowserUtils } from './utils/login.js'; import { SnapRenderBaseUtils, SnapRenderColorUtils, SnapRenderUtils } from './utils/render.js'; import { FileReplace } from './utils/replace.js'; export declare const includeColorTheme: (theme: string) => theme is ColorThemeType; export declare const includeTheme: (theme: string) => theme is keyof typeof themeList; type ExtractGroups = T extends `${infer _Start}(?<${infer GroupName}>${infer _Rest})${infer Tail}` ? { [K in GroupName | keyof ExtractGroups]: string; } : {}; type SnapAppCallback = (utils: { limit: number; }, api: T1, match: ExtractGroups) => Promise>; export declare class Session { api: T1; constructor(api: T1); } export declare class SnapApp { name: string; callback: (util: SnapAppBrowserUtils) => Promise>; fonts: (utils: FontUtils) => Promise; init: ({ logger }: { logger: Logger; }) => Promise; pattern: RegExp; callbackList: [RegExp, SnapAppCallback][]; constructor(name: string, pattern: string, callback: (util: SnapAppBrowserUtils) => Promise>, fonts: (utils: FontUtils) => Promise, init: ({ logger }: { logger: Logger; }) => Promise); call(pattern: V1, callback: SnapAppCallback): void; } type CallbackImage = (data: T1, utils: SnapRenderColorUtils) => Promise; type CallbackVideo = (data: T1, utils: SnapRenderColorUtils) => Promise; type CallbackOther = (data: T1, utils: SnapRenderUtils, placeholder: FileReplace[], output: string) => Promise; type CallbackJson = (data: T1, utils: SnapRenderUtils) => Promise; type CallbackMedia = (data: T1, utils: SnapRenderUtils) => Promise; export declare class SnapRender { isImage: (data: T1) => boolean; placeholder: (data: T1) => FileReplace[]; imageCallback: [string, CallbackImage][]; videoCallback: [string, CallbackVideo][]; otherCallback: [string, CallbackOther][]; jsonCallback: [string, CallbackJson][]; constructor(isImage: (data: T1) => boolean, placeholder: (data: T1) => FileReplace[], image: CallbackImage, video: CallbackVideo); run: (data: AsyncGenerator) => SnapRenderChild; add: (theme: string, image: CallbackImage, video: CallbackVideo) => void; other: (theme: string, callback: CallbackOther) => void; json: (theme: string, json: CallbackJson) => void; media: (theme: string, media: (data: T1) => T2[], mediaPlaceholder: (data: T2) => FileReplace[], callback: CallbackMedia) => void; } export type SnapRenderChildNextParam = { data: T1; ffmpegAdditonalOption?: string[]; ffmpegPath?: string; ffmpegTimeout?: number; ffprobePath?: string; font: FontOptions; logger: Logger; output: string; scale: number; theme: string; width: number; }; export declare class SnapRenderChild { isImage: (data: T1) => boolean; placeholder: (data: T1) => FileReplace[]; imageCallback: [string, CallbackImage][]; videoCallback: [string, CallbackVideo][]; otherCallback: [string, CallbackOther][]; jsonCallback: [string, CallbackJson][]; data: AsyncGenerator; count: number; constructor(isImage: (data: T1) => boolean, placeholder: (data: T1) => FileReplace[], imageCallback: [string, CallbackImage][], videoCallback: [string, CallbackVideo][], otherCallback: [string, CallbackOther][], jsonCallback: [string, CallbackJson][], data: AsyncGenerator); image: (theme: string) => CallbackImage; video: (theme: string) => CallbackVideo; other: (theme: string) => CallbackOther; json: (theme: string) => CallbackJson; next: (flag: SnapRenderChildNextParam) => Promise; } export {}; //# sourceMappingURL=app.d.ts.map