import { BunactylClient } from '../client';
import type { ServerResponse, ServersResponse, CreateServerRequest, UpdateServerDetails, UpdateServerBuild, UpdateServerStartup, ServerInclude } from '../interfaces/servers';
export declare class ServersResource {
    private client;
    constructor(client: BunactylClient);
    /**
     * List all servers
     *
     * @param include Optional resources to include
     */
    list(include?: ServerInclude): Promise<ServersResponse>;
    /**
     * Get details for a specific server by ID
     *
     * @param id Server ID
     * @param include Optional resources to include
     */
    getById(id: number | string, include?: ServerInclude): Promise<ServerResponse>;
    /**
     * Get details for a specific server by external ID
     *
     * @param externalId External server ID
     * @param include Optional resources to include
     */
    getByExternalId(externalId: string, include?: ServerInclude): Promise<ServerResponse>;
    /**
     * Create a new server
     *
     * @param serverData Server data
     */
    create(serverData: CreateServerRequest): Promise<ServerResponse>;
    /**
     * Update server details
     *
     * @param id Server ID
     * @param details Server details
     */
    updateDetails(id: number | string, details: UpdateServerDetails): Promise<ServerResponse>;
    /**
     * Update server build configuration
     *
     * @param id Server ID
     * @param buildConfig Server build configuration
     */
    updateBuild(id: number | string, buildConfig: UpdateServerBuild): Promise<ServerResponse>;
    /**
     * Update server startup configuration
     *
     * @param id Server ID
     * @param startupConfig Server startup configuration
     */
    updateStartup(id: number | string, startupConfig: UpdateServerStartup): Promise<ServerResponse>;
    /**
     * Delete a server
     *
     * @param id Server ID
     */
    delete(id: number | string): Promise<void>;
}
//# sourceMappingURL=servers.d.ts.map