import type { Models } from "@appwrite.io/console"; import { z } from "zod"; import type { SettingsType } from "./commands/config.js"; export declare const createSettingsObject: (project: Models.Project) => SettingsType; export declare const getSafeDirectoryName: (value: string, fallback: string) => string; type SiteBuildConfig = { framework?: string; adapter?: string; }; export declare const siteRequiresBuildCommand: (site: SiteBuildConfig) => boolean; export declare const getErrorMessage: (error: unknown) => string; export type InstallationMethod = "npm" | "homebrew" | "standalone"; type LatestVersionOptions = { timeoutMs?: number; homebrewFormula?: string; }; export declare const detectInstallationMethod: () => InstallationMethod | null; export declare const getInstalledHomebrewFormula: (options?: { timeoutMs?: number; }) => string | null; export declare const isCloudHostname: (hostname: string) => boolean; export declare const getConsoleBaseUrl: (endpoint: string) => string; export declare const getConsoleProjectSlug: (endpoint: string, projectId: string) => string; export declare const getFunctionDeploymentConsoleUrl: (endpoint: string, projectId: string, functionId: string, deploymentId: string) => string; export declare const getSiteDeploymentConsoleUrl: (endpoint: string, projectId: string, siteId: string, deploymentId: string) => string; export declare const syncVersionCheckCache: (currentVersion: string, latestVersion: string) => void; /** * Get the latest version from npm registry */ export declare function getLatestVersion(options?: { timeoutMs?: number; }): Promise; export declare function getLatestVersionForInstallation(method: InstallationMethod | null, options?: LatestVersionOptions): Promise; export declare function getLatestVersionForCurrentInstallation(options?: { timeoutMs?: number; }): Promise; /** * Compare versions using semantic versioning */ export declare function compareVersions(current: string, latest: string): number; export declare function getCachedUpdateNotification(currentVersion: string): Promise; export declare function getAllFiles(folder: string): string[]; export declare function isPortTaken(port: number): Promise; export declare function systemHasCommand(command: string): boolean; type DeployLocalConfig = { keys: () => string[]; }; export declare const checkDeployConditions: (localConfig: DeployLocalConfig) => void; export declare function isCloud(): boolean; export interface SkillInfo { name: string; description: string; dirName: string; } export declare function hasSkillsInstalled(configDirectoryPath: string): boolean; export declare function fetchAvailableSkills(): { skills: SkillInfo[]; tempDir: string; }; export declare function detectProjectSkills(cwd: string, skills: SkillInfo[]): SkillInfo[]; export declare function placeSkills(cwd: string, tempDir: string, selectedDirNames: string[], selectedAgents: string[], useSymlinks: boolean): void; export declare function arrayEqualsUnordered(left: unknown, right: unknown): boolean; /** * Filters an object to only include fields defined in a Zod object schema. * Uses the schema's shape to determine allowed keys. * * @param data - The data to filter * @param schema - A Zod object schema with a shape property * @returns The filtered data with only schema-defined fields */ export declare function filterBySchema>(data: Record, schema: T): z.infer; export {}; //# sourceMappingURL=utils.d.ts.map