import { z } from 'zod';
import { PlatformConfig } from 'homebridge';
export declare const DEFAULT_OUTLETINUSE_ISACTIVE = false;
export declare const DEFAULT_OUTLETINUSE_THRESHOLD = 5;
export declare const DEFAULT_OUTLETINUSE_THRESHOLD_MIN = 0.1;
export declare const DEFAULT_OUTLETINUSE_THRESHOLD_MAX = 3680;
export declare const DEFAULT_OUTLETINUSE_THRESHOLD_DURATION = 10;
export declare const DEFAULT_OUTLETINUSE_THRESHOLD_DURATION_MIN = 0;
export declare const DEFAULT_OUTLETINUSE_THRESHOLD_DURATION_MAX = 86400;
export declare const configSchema: z.ZodObject<{
    name: z.ZodString;
    energySockets: z.ZodOptional<z.ZodArray<z.ZodObject<{
        ip: z.ZodEffects<z.ZodString, string, string>;
        name: z.ZodString;
        outletInUse: z.ZodEffects<z.ZodOptional<z.ZodObject<{
            isActive: z.ZodOptional<z.ZodBoolean>;
            threshold: z.ZodOptional<z.ZodNumber>;
            thresholdDuration: z.ZodOptional<z.ZodNumber>;
            verboseLogging: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        }, {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        }>>, {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        } | undefined, {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        } | undefined>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        ip: string;
        outletInUse?: {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        } | undefined;
    }, {
        name: string;
        ip: string;
        outletInUse?: {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        } | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    name: string;
    energySockets?: {
        name: string;
        ip: string;
        outletInUse?: {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        } | undefined;
    }[] | undefined;
}, {
    name: string;
    energySockets?: {
        name: string;
        ip: string;
        outletInUse?: {
            isActive?: boolean | undefined;
            threshold?: number | undefined;
            thresholdDuration?: number | undefined;
            verboseLogging?: boolean | undefined;
        } | undefined;
    }[] | undefined;
}>;
export type ConfigSchema = z.infer<typeof configSchema> & PlatformConfig;
export type ConfigSchemaEnergySocket = Exclude<ConfigSchema['energySockets'], undefined>[number];
//# sourceMappingURL=config.schema.d.ts.map