/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
/**
 * ControlPlaneEvent — discriminated union covering gateway/control-plane client lifecycle events.
 */
export declare const CONTROL_PLANE_CLIENT_KINDS: readonly ["tui", "web", "slack", "discord", "ntfy", "daemon", "webhook", "homeassistant", "service", "telegram", "google-chat", "signal", "whatsapp", "imessage", "msteams", "bluebubbles", "mattermost", "matrix"];
export declare const CONTROL_PLANE_TRANSPORT_KINDS: readonly ["local", "http", "sse", "ws", "websocket", "webhook"];
export declare const CONTROL_PLANE_PRINCIPAL_KINDS: readonly ["user", "bot", "service", "token"];
export type ControlPlaneClientKind = (typeof CONTROL_PLANE_CLIENT_KINDS)[number];
export type ControlPlaneTransportKind = (typeof CONTROL_PLANE_TRANSPORT_KINDS)[number];
export type ControlPlanePrincipalKind = (typeof CONTROL_PLANE_PRINCIPAL_KINDS)[number];
export type ControlPlaneEvent = {
    type: 'CONTROL_PLANE_CLIENT_CONNECTED';
    clientId: string;
    clientKind: ControlPlaneClientKind;
    transport: ControlPlaneTransportKind;
} | {
    type: 'CONTROL_PLANE_CLIENT_DISCONNECTED';
    clientId: string;
    reason: string;
} | {
    type: 'CONTROL_PLANE_SUBSCRIPTION_CREATED';
    clientId: string;
    subscriptionId: string;
    topics: string[];
} | {
    type: 'CONTROL_PLANE_SUBSCRIPTION_DROPPED';
    clientId: string;
    subscriptionId: string;
    reason: string;
} | {
    type: 'CONTROL_PLANE_AUTH_GRANTED';
    clientId: string;
    principalId: string;
    principalKind: ControlPlanePrincipalKind;
    scopes: string[];
} | {
    type: 'CONTROL_PLANE_AUTH_REJECTED';
    clientId: string;
    principalId: string;
    reason: string;
};
export type ControlPlaneEventType = ControlPlaneEvent['type'];
//# sourceMappingURL=control-plane.d.ts.map