import * as plugins from '../plugins.js';
import * as interfaces from '../../dist_ts_interfaces/index.js';
export interface IRouteManagementState {
    mergedRoutes: interfaces.data.IMergedRoute[];
    warnings: interfaces.data.IRouteWarning[];
    httpRedirects: interfaces.data.IHttpRedirectInfo[];
    apiTokens: interfaces.data.IApiTokenInfo[];
    gatewayClients: interfaces.data.IGatewayClient[];
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const routeManagementStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IRouteManagementState>;
export declare const fetchMergedRoutesAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare const fetchHttpRedirectsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare const createRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    route: any;
    enabled?: boolean;
    metadata?: any;
}>;
export declare const updateRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    route?: any;
    enabled?: boolean;
    metadata?: any;
}>;
export declare const deleteRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
export declare const toggleRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    enabled: boolean;
}>;
export declare const fetchApiTokensAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare const fetchGatewayClientsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare function createGatewayClient(data: {
    id?: string;
    type: interfaces.data.IGatewayClient['type'];
    name: string;
    description?: string;
    hostnamePatterns?: string[];
    allowedRouteTargets?: interfaces.data.IGatewayClient['allowedRouteTargets'];
}): Promise<{
    success: boolean;
    gatewayClient?: interfaces.data.IGatewayClient;
    message?: string;
}>;
export declare const updateGatewayClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    name?: string;
    description?: string;
    hostnamePatterns?: string[];
    allowedRouteTargets?: interfaces.data.IGatewayClient["allowedRouteTargets"];
    enabled?: boolean;
}>;
export declare const deleteGatewayClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
export declare function createGatewayClientToken(gatewayClientId: string, name?: string, expiresInDays?: number | null): Promise<{
    success: boolean;
    tokenId?: string;
    tokenValue?: string;
    message?: string;
}>;
export declare function createApiToken(name: string, scopes: interfaces.data.TApiTokenScope[], expiresInDays?: number | null, policy?: any): Promise<{
    success: boolean;
    tokenId?: string;
    tokenValue?: string;
    message?: string;
}>;
export declare function rollApiToken(id: string): Promise<{
    success: boolean;
    tokenValue?: string;
    message?: string;
}>;
export declare const revokeApiTokenAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
export declare const toggleApiTokenAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    enabled: boolean;
}>;
