import { Action, MatchMode } from "./constants.js";
import { RuntimeConfig } from "./runtimeConfig.js";
import { WebhookEntry } from "@cross-seed/shared/configSchema";
export interface FileConfig {
    action?: Action;
    pconfigVersion?: number;
    delay?: number;
    includeSingleEpisodes?: boolean;
    outputDir?: string;
    injectDir?: string;
    ignoreTitles?: boolean;
    includeNonVideos?: boolean;
    seasonFromEpisodes?: number;
    fuzzySizeThreshold?: number;
    excludeOlder?: string;
    excludeRecentSearch?: string;
    useClientTorrents?: boolean;
    dataDirs?: string[];
    matchMode?: MatchMode;
    skipRecheck?: boolean;
    autoResumeMaxDownload?: number;
    ignoreNonRelevantFilesToResume?: boolean;
    linkDir?: string;
    linkDirs?: string[];
    linkType?: string;
    flatLinking?: boolean;
    maxDataDepth?: number;
    linkCategory?: string;
    torrentDir?: string;
    torznab?: string[];
    torrentClients?: string[];
    qbittorrentUrl?: string;
    rtorrentRpcUrl?: string;
    transmissionRpcUrl?: string;
    delugeRpcUrl?: string;
    duplicateCategories?: boolean;
    notificationWebhookUrls?: WebhookEntry[];
    notificationWebhookUrl?: string;
    port?: number;
    host?: string;
    searchCadence?: string;
    rssCadence?: string;
    snatchTimeout?: string;
    searchTimeout?: string;
    searchLimit?: number;
    blockList?: string[];
    apiKey?: string;
    sonarr?: string[];
    radarr?: string[];
}
export declare const UNPARSABLE_CONFIG_MESSAGE: string;
/**
 * Returns the appDir relevant to the OS/Environment. Due to initialization of
 * the SQLiteDB during read of db.ts - will need to create appDir in this function if
 * it does not exist (ENOENT)
 *
 * @return a string representing the absolute path to cross-seed config directory
 */
export declare function appDir(): string;
export declare function createAppDirHierarchy(): void;
export declare function getDefaultRuntimeConfig(): RuntimeConfig;
export declare function stripDefaults(config: Partial<RuntimeConfig> | RuntimeConfig): Partial<RuntimeConfig>;
export declare function transformFileConfig(fileConfig: FileConfig): Partial<RuntimeConfig>;
export declare function getFileConfigPath(): string;
export declare function getFileConfig(): Promise<FileConfig | undefined>;
