import * as plugins from '../plugins.js';
import type * as authInterfaces from '../data/auth.js';
import type { IGatewayClient } from '../data/workhoster.js';
export interface IReq_ListGatewayClients extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListGatewayClients> {
    method: 'listGatewayClients';
    request: {
        identity?: authInterfaces.IIdentity;
        apiToken?: string;
    };
    response: {
        gatewayClients: IGatewayClient[];
    };
}
export interface IReq_CreateGatewayClient extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateGatewayClient> {
    method: 'createGatewayClient';
    request: {
        identity?: authInterfaces.IIdentity;
        apiToken?: string;
        id?: string;
        type: IGatewayClient['type'];
        name: string;
        description?: string;
        hostnamePatterns?: string[];
        allowedRouteTargets?: IGatewayClient['allowedRouteTargets'];
        capabilities?: IGatewayClient['capabilities'];
    };
    response: {
        success: boolean;
        gatewayClient?: IGatewayClient;
        message?: string;
    };
}
export interface IReq_UpdateGatewayClient extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateGatewayClient> {
    method: 'updateGatewayClient';
    request: {
        identity?: authInterfaces.IIdentity;
        apiToken?: string;
        id: string;
        name?: string;
        description?: string;
        hostnamePatterns?: string[];
        allowedRouteTargets?: IGatewayClient['allowedRouteTargets'];
        capabilities?: IGatewayClient['capabilities'];
        enabled?: boolean;
    };
    response: {
        success: boolean;
        gatewayClient?: IGatewayClient;
        message?: string;
    };
}
export interface IReq_DeleteGatewayClient extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteGatewayClient> {
    method: 'deleteGatewayClient';
    request: {
        identity?: authInterfaces.IIdentity;
        apiToken?: string;
        id: string;
    };
    response: {
        success: boolean;
        message?: string;
    };
}
export interface IReq_CreateGatewayClientToken extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateGatewayClientToken> {
    method: 'createGatewayClientToken';
    request: {
        identity?: authInterfaces.IIdentity;
        apiToken?: string;
        gatewayClientId: string;
        name?: string;
        expiresInDays?: number | null;
    };
    response: {
        success: boolean;
        tokenId?: string;
        tokenValue?: string;
        message?: string;
    };
}
