import { type ArtType } from '../art.js';
import { type Options } from '../options.js';
export declare enum Format {
    MinUI = "minui",
    NextUI = "nextui",
    MuOS = "muos",
    Anbernic = "anbernic"
}
export type SeparateArtworksFunction = (options: Options) => Promise<boolean>;
export type PrepareMachineFunction = (folderPath: string, machine: string, options: Options) => Promise<void>;
export type OutputPathFunction = (filePath: string, machine: string, type?: ArtType) => Promise<string>;
export type OutputArtworkFunction = (url1: string | undefined, url2: string | undefined, artPath: string, options: Options) => Promise<boolean>;
export type CleanupArtworkFunction = (targetPath: string, romFolders: string[], options: Options) => Promise<void>;
export type OutputFormat = {
    useSeparateArtworks: SeparateArtworksFunction;
    prepareMachine?: PrepareMachineFunction;
    getArtPath: OutputPathFunction;
    exportArtwork: OutputArtworkFunction;
    cleanupArtwork: CleanupArtworkFunction;
};
export declare function getOutputFormat(options: Options): Promise<OutputFormat>;
