import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
/**
 * integrations — system-scoped singleton capability for integration
 * (provider-instance) lifecycle. Integrations are typically per-addon
 * data records that pin a device-provider addon to a concrete config
 * (Reolink credentials, ONVIF endpoint, etc.).
 *
 * Implementation lives in the server's `AddonRegistryService`
 * (specifically `getIntegrationRegistry()`). The provider is registered
 * from `trpc.router.ts` against that service plus the event bus and
 * logger — no addon owns this end-to-end.
 *
 * Phase E of the API consolidation: previously a hand-written core
 * router. Cap conversion lets `useIntegrationsList`,
 * `useIntegrationsCreate`, `useIntegrationsTestConnection` and
 * friends flow through the same codegen pipeline as every other cap.
 */
declare const IntegrationWithStateSchema: z.ZodObject<{
    id: z.ZodString;
    addonId: z.ZodString;
    name: z.ZodString;
    enabled: z.ZodBoolean;
    info: z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    createdAt: z.ZodNumber;
    updatedAt: z.ZodNumber;
    processState: z.ZodString;
}, z.core.$strip>;
declare const IntegrationLiteSchema: z.ZodObject<{
    id: z.ZodString;
    addonId: z.ZodString;
    name: z.ZodString;
    enabled: z.ZodBoolean;
    info: z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    createdAt: z.ZodNumber;
    updatedAt: z.ZodNumber;
}, z.core.$strip>;
declare const AvailableIntegrationTypeSchema: z.ZodObject<{
    addonId: z.ZodString;
    name: z.ZodString;
    description: z.ZodString;
    iconUrl: z.ZodNullable<z.ZodString>;
    color: z.ZodString;
    instanceMode: z.ZodString;
    discoveryMode: z.ZodString;
    existingInstances: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, z.core.$strip>>;
    canAdd: z.ZodBoolean;
}, z.core.$strip>;
declare const TestConnectionResultSchema: z.ZodObject<{
    success: z.ZodBoolean;
    error: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const CreateIntegrationInputSchema: z.ZodObject<{
    addonId: z.ZodString;
    name: z.ZodString;
    enabled: z.ZodOptional<z.ZodBoolean>;
    info: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    skipRestart: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
declare const UpdateIntegrationInputSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    enabled: z.ZodOptional<z.ZodBoolean>;
    info: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
declare const DeleteIntegrationResultSchema: z.ZodObject<{
    success: z.ZodBoolean;
    deletedId: z.ZodString;
}, z.core.$strip>;
export declare const integrationsCapability: {
    readonly name: "integrations";
    readonly scope: "system";
    readonly mode: "singleton";
    readonly methods: {
        readonly list: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            addonId: z.ZodString;
            name: z.ZodString;
            enabled: z.ZodBoolean;
            info: z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
            processState: z.ZodString;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly get: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            id: z.ZodString;
            addonId: z.ZodString;
            name: z.ZodString;
            enabled: z.ZodBoolean;
            info: z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
            processState: z.ZodString;
        }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly getByAddonId: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            addonId: z.ZodString;
        }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            addonId: z.ZodString;
            name: z.ZodString;
            enabled: z.ZodBoolean;
            info: z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly create: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            addonId: z.ZodString;
            name: z.ZodString;
            enabled: z.ZodOptional<z.ZodBoolean>;
            info: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            skipRestart: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>, z.ZodObject<{
            id: z.ZodString;
            addonId: z.ZodString;
            name: z.ZodString;
            enabled: z.ZodBoolean;
            info: z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
        }, z.core.$strip>, "mutation">;
        readonly update: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            enabled: z.ZodOptional<z.ZodBoolean>;
            info: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$strip>, z.ZodObject<{
            id: z.ZodString;
            addonId: z.ZodString;
            name: z.ZodString;
            enabled: z.ZodBoolean;
            info: z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
        }, z.core.$strip>, "mutation">;
        readonly delete: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodBoolean;
            deletedId: z.ZodString;
        }, z.core.$strip>, "mutation">;
        readonly getSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
        }, z.core.$strip>, z.ZodRecord<z.ZodString, z.ZodUnknown>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly setSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
            settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodBoolean;
        }, z.core.$strip>, "mutation">;
        readonly getAvailableTypes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodArray<z.ZodObject<{
            addonId: z.ZodString;
            name: z.ZodString;
            description: z.ZodString;
            iconUrl: z.ZodNullable<z.ZodString>;
            color: z.ZodString;
            instanceMode: z.ZodString;
            discoveryMode: z.ZodString;
            existingInstances: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                name: z.ZodString;
            }, z.core.$strip>>;
            canAdd: z.ZodBoolean;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly testConnection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            addonId: z.ZodString;
            settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodBoolean;
            error: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, "mutation">;
    };
};
export type IIntegrationsProvider = InferProvider<typeof integrationsCapability>;
export { IntegrationWithStateSchema, IntegrationLiteSchema, AvailableIntegrationTypeSchema, TestConnectionResultSchema, CreateIntegrationInputSchema, UpdateIntegrationInputSchema, DeleteIntegrationResultSchema, };
//# sourceMappingURL=integrations.cap.d.ts.map