export interface DifferenceCreate {
    type: "CREATE";
    path: (string | number)[];
    value: any;
}
export interface DifferenceRemove {
    type: "REMOVE";
    path: (string | number)[];
    oldValue: any;
}
export interface DifferenceChange {
    type: "CHANGE";
    path: (string | number)[];
    value: any;
    oldValue: any;
}
export type Difference = DifferenceCreate | DifferenceRemove | DifferenceChange;
export declare const TRIGGER_TYPES: readonly ["http", "websocket", "kafka", "nats", "postgres", "mqtt", "sqs", "gcp", "email"];
export type GlobalOptions = {
    baseUrl: string | undefined;
    workspace: string | undefined;
    token: string | undefined;
    configDir: string | undefined;
};
export declare function isSuperset(subset: Record<string, any>, superset: Record<string, any>): boolean;
export declare function showDiff(local: string, remote: string): void;
export declare function showConflict(path: string, local: string, remote: string): void;
/**
 * Pushes an object to the workspace server based on its type
 * @param workspace - The workspace ID to push to
 * @param p - The server path (base path for branch-specific items)
 * @param befObj - The previous object state (for updates)
 * @param newObj - The new object state to push
 * @param plainSecrets - Whether to store secrets in plain text
 * @param alreadySynced - Array to track already synced items
 * @param message - Optional commit/update message
 * @param originalLocalPath - The original local file path (used for branch-specific resource file resolution)
 */
export declare function pushObj(workspace: string, p: string, befObj: any, newObj: any, plainSecrets: boolean, alreadySynced: string[], message?: string, originalLocalPath?: string): Promise<void>;
export declare function parseFromPath(p: string, content: string): any;
export declare function parseFromFile(p: string): any;
export declare function getTypeStrFromPath(p: string): "script" | "variable" | "flow" | "resource" | "resource-type" | "folder" | "app" | "schedule" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger" | "postgres_trigger" | "mqtt_trigger" | "sqs_trigger" | "gcp_trigger" | "email_trigger" | "user" | "group" | "settings" | "encryption_key";
export declare function removeType(str: string, type: string): string;
export declare function removePathPrefix(str: string, prefix: string): string;
//# sourceMappingURL=types.d.ts.map