import type { AiService } from "./ai-service/index.js";
import type { SnapshotManager } from "./ai-service/recording/snapshot-manager.js";
import type { LockService } from "./lock-service/index.js";
import type { SyncService } from "./sync-service/index.js";
import type { Logger } from "./util/logger.js";
import type { OperationQueue } from "./util/operation-queue.js";
import type { Tracer } from "@opentelemetry/api";
import type http from "node:http";
export type CheckAuthorization = (authorization: string | undefined) => Promise<{
    success: true;
} | {
    success: false;
    status: number;
    error: string;
}>;
export interface FileSyncPluginParams {
    fsOperationQueue: OperationQueue;
    syncService?: SyncService;
    lockService?: LockService;
    aiService?: AiService;
    snapshotManager?: SnapshotManager;
    httpServer: http.Server;
    checkAuthorization: CheckAuthorization;
    tracer: Tracer;
    logger: Logger;
    features?: {
        enableSessionRecording?: boolean;
    };
}
export type FileSyncPluginOptions = {
    legacyComponentsFolder?: string;
    isCustomBuildEnabled?: boolean;
};
export declare function setOptions(options: FileSyncPluginOptions): void;
export declare function getOptions(): FileSyncPluginOptions;
export declare function getLegacyComponentsFolder(): string;
export declare function isCustomBuildEnabled(): boolean;
//# sourceMappingURL=plugin-options.d.ts.map