export declare const settingsRouter: import("@trpc/server").TRPCBuiltRouter<{
    ctx: import("../index.js").Context;
    meta: object;
    errorShape: import("@trpc/server").TRPCDefaultErrorShape;
    transformer: false;
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
    get: import("@trpc/server").TRPCQueryProcedure<{
        input: void;
        output: {
            config: {
                delay: number;
                torznab: string[];
                useClientTorrents: boolean;
                dataDirs: string[];
                matchMode: import("@cross-seed/shared/constants").MatchMode;
                skipRecheck: boolean;
                autoResumeMaxDownload: number;
                ignoreNonRelevantFilesToResume: boolean;
                linkDirs: string[];
                linkType: import("@cross-seed/shared/constants").LinkType;
                flatLinking: boolean;
                maxDataDepth: number;
                outputDir: string;
                includeSingleEpisodes: boolean;
                verbose: boolean;
                includeNonVideos: boolean;
                fuzzySizeThreshold: number;
                action: import("@cross-seed/shared/constants").Action;
                torrentClients: string[];
                duplicateCategories: boolean;
                notificationWebhookUrls: (string | {
                    url: string;
                    payload?: Record<string, unknown> | undefined;
                    headers?: Record<string, string> | undefined;
                })[];
                torrents: string[];
                blockList: string[];
                sonarr: string[];
                radarr: string[];
                linkCategory?: string | undefined;
                torrentDir?: string | undefined;
                injectDir?: string | undefined;
                ignoreTitles?: boolean | undefined;
                seasonFromEpisodes?: number | undefined;
                excludeOlder?: number | undefined;
                excludeRecentSearch?: number | undefined;
                port?: number | undefined;
                host?: string | undefined;
                basePath?: string | undefined;
                searchCadence?: number | undefined;
                rssCadence?: number | undefined;
                snatchTimeout?: number | undefined;
                searchTimeout?: number | undefined;
                searchLimit?: number | undefined;
                apiKey?: string | undefined;
            };
            apiKey: string;
        };
        meta: object;
    }>;
    save: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            [x: string]: unknown;
        };
        output: {
            success: boolean;
        };
        meta: object;
    }>;
    setApiKey: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            apiKey: string;
        };
        output: {
            apiKey: string;
        };
        meta: object;
    }>;
    resetApiKey: import("@trpc/server").TRPCMutationProcedure<{
        input: void;
        output: {
            apiKey: string;
        };
        meta: object;
    }>;
    replace: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            [x: string]: unknown;
        };
        output: {
            success: boolean;
        };
        meta: object;
    }>;
    validate: import("@trpc/server").TRPCQueryProcedure<{
        input: void;
        output: {
            status: string;
            validations: {
                paths: boolean;
                torznab: boolean;
            };
        };
        meta: object;
    }>;
    testNotification: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            webhooks: (string | {
                url: string;
                payload?: Record<string, unknown> | undefined;
                headers?: Record<string, string> | undefined;
            })[];
        };
        output: {
            results: import("../../pushNotifier.js").WebhookResult[];
        };
        meta: object;
    }>;
}>>;
