import { State } from '../../shared/State';
import { IdObjectSkeletonInterface, PagedResult } from '../ApiTypes';
export type ServerSkeleton = IdObjectSkeletonInterface & {
    url: string;
    siteName: string;
};
export type ServerPropertiesSkeleton = {
    advanced: object;
    cts: object;
    directoryConfiguration: object;
    general: object;
    sdk: object;
    security: object;
    session: object;
    uma: object;
};
/**
 * Get server
 * @param {string} serverId Server id
 * @returns {Promise<ServerSkeleton>} a promise that resolves to a server object
 */
export declare function getServer({ serverId, state, }: {
    serverId: string;
    state: State;
}): Promise<ServerSkeleton>;
/**
 * Get all servers
 * @returns {Promise<PagedResult<ServerSkeleton[]>>} a promise that resolves to an array of server objects
 */
export declare function getServers({ state, }: {
    state: State;
}): Promise<PagedResult<ServerSkeleton>>;
/**
 * Get server properties
 * @param {string} serverId Server id
 * @returns {Promise<ServerPropertiesSkeleton>} a promise that resolves to a server properties object
 */
export declare function getServerProperties({ serverId, state, }: {
    serverId: string;
    state: State;
}): Promise<ServerPropertiesSkeleton>;
/**
 * Get default server properties
 * @returns {Promise<ServerPropertiesSkeleton>} a promise that resolves to a server properties object
 */
export declare function getDefaultServerProperties({ state, }: {
    state: State;
}): Promise<ServerPropertiesSkeleton>;
/**
 * Creates a server
 * @param {ServerSkeleton} serverData server object
 * @returns {Promise<ServerSkeleton>} a promise that resolves to a server object
 */
export declare function createServer({ serverData, state, }: {
    serverData: ServerSkeleton;
    state: any;
}): Promise<ServerSkeleton>;
/**
 * Put server properties
 * @param {string} serverId
 * @param {ServerPropertiesSkeleton} serverPropertiesData server properties object
 * @returns {Promise<ServerPropertiesSkeleton>} a promise that resolves to a server properties object
 */
export declare function putServerProperties({ serverId, serverPropertiesData, state, }: {
    serverId: any;
    serverPropertiesData: ServerPropertiesSkeleton;
    state: any;
}): Promise<ServerPropertiesSkeleton>;
/**
 * Put default server properties
 * @param {ServerPropertiesSkeleton} defaultServerPropertiesData default server properties object
 * @returns {Promise<ServerPropertiesSkeleton>} a promise that resolves to a default server properties object
 */
export declare function putDefaultServerProperties({ defaultServerPropertiesData, state, }: {
    defaultServerPropertiesData: ServerPropertiesSkeleton;
    state: any;
}): Promise<ServerPropertiesSkeleton>;
//# sourceMappingURL=ServerApi.d.ts.map