import { z } from "zod"; export interface KomodoResource { readonly id: string; readonly name: string; } export interface KomodoUser { readonly id: string; readonly username: string; readonly enabled: boolean; } export type KomodoPermissionLevel = "Read" | "Execute" | "Write"; declare const deploymentConfigSchema: z.ZodObject<{ environment: z.ZodDefault>]>>; }, z.core.$loose>; export type DeploymentConfig = z.infer; declare const alerterEndpointSchema: z.ZodObject<{ type: z.ZodEnum<{ Custom: "Custom"; Discord: "Discord"; Slack: "Slack"; }>; params: z.ZodObject<{ url: z.ZodString; }, z.core.$strip>; }, z.core.$strip>; declare const resourceTargetSchema: z.ZodObject<{ type: z.ZodString; id: z.ZodString; }, z.core.$strip>; declare const alerterConfigSchema: z.ZodObject<{ enabled: z.ZodBoolean; endpoint: z.ZodObject<{ type: z.ZodEnum<{ Custom: "Custom"; Discord: "Discord"; Slack: "Slack"; }>; params: z.ZodObject<{ url: z.ZodString; }, z.core.$strip>; }, z.core.$strip>; alert_types: z.ZodReadonly>; resources: z.ZodReadonly>>; except_resources: z.ZodReadonly>>; }, z.core.$strip>; export type AlerterEndpoint = z.infer; export type ResourceTarget = z.infer; export type AlerterConfig = z.infer; export interface KomodoApi { readonly login: (args: { readonly baseUrl: string; readonly username: string; readonly password: string; }) => Promise; readonly listServers: (args: { readonly baseUrl: string; readonly jwt: string; }) => Promise; readonly listDeployments: (args: { readonly baseUrl: string; readonly jwt: string; }) => Promise; readonly getDeployment: (args: { readonly baseUrl: string; readonly jwt: string; readonly deployment: string; }) => Promise; readonly createDeployment: (args: { readonly baseUrl: string; readonly jwt: string; readonly name: string; readonly config: Readonly>; }) => Promise; readonly updateDeployment: (args: { readonly baseUrl: string; readonly jwt: string; readonly id: string; readonly config: Readonly>; }) => Promise; readonly deleteDeployment: (args: { readonly baseUrl: string; readonly jwt: string; readonly id: string; }) => Promise; readonly listUsers: (args: { readonly baseUrl: string; readonly jwt: string; }) => Promise; readonly deleteUser: (args: { readonly baseUrl: string; readonly jwt: string; readonly userId: string; }) => Promise; readonly createUser: (args: { readonly baseUrl: string; readonly jwt: string; readonly username: string; readonly password: string; }) => Promise; readonly enableUser: (args: { readonly baseUrl: string; readonly jwt: string; readonly userId: string; }) => Promise; readonly setPermissionOnTarget: (args: { readonly baseUrl: string; readonly jwt: string; readonly userId: string; readonly deployment: string; readonly level: KomodoPermissionLevel; }) => Promise; readonly listAlerters: (args: { readonly baseUrl: string; readonly jwt: string; }) => Promise; readonly getAlerter: (args: { readonly baseUrl: string; readonly jwt: string; readonly id: string; }) => Promise; readonly createAlerter: (args: { readonly baseUrl: string; readonly jwt: string; readonly name: string; readonly config: AlerterConfig; }) => Promise; readonly updateAlerter: (args: { readonly baseUrl: string; readonly jwt: string; readonly id: string; readonly config: AlerterConfig; }) => Promise; readonly deleteAlerter: (args: { readonly baseUrl: string; readonly jwt: string; readonly id: string; }) => Promise; } export declare const komodoApi: KomodoApi; export {}; //# sourceMappingURL=komodo-api.d.ts.map