import type { AmigoFetch } from '../core/openapi-client';
import type { components, operations } from '../generated/api-types';
import type { OrgId, ServiceId } from '../core/branded-types';
/** Resource for managing services. */
export declare class ServiceResource {
    private c;
    private orgId;
    constructor(c: AmigoFetch, orgId: OrgId);
    /** List services for the organization. */
    getServices(queryParams?: operations['get-services']['parameters']['query'], headers?: operations['get-services']['parameters']['header']): Promise<{
        services: components["schemas"]["ServiceInstance"][];
        has_more: boolean;
        continuation_token: number | null;
        filter_values: components["schemas"]["service__get_services__Response__FilterValues"] | null;
    }>;
    /** Create a new service. */
    createService(options: {
        body: components['schemas']['service__create_service__Request'];
        headers?: operations['create-service']['parameters']['header'];
    }): Promise<{
        id: string;
    }>;
    /** Update a service. */
    updateService(options: {
        serviceId: ServiceId;
        body: components['schemas']['service__update_service__Request'];
        headers?: operations['update-service']['parameters']['header'];
    }): Promise<{}>;
    /** Upsert a service version set. */
    upsertVersionSet(options: {
        serviceId: ServiceId;
        versionSetName: string;
        body: components['schemas']['service__upsert_service_version_set__Request'];
        headers?: operations['upsert-service-version-set']['parameters']['header'];
    }): Promise<never>;
    /** Delete a service version set. */
    deleteVersionSet(options: {
        serviceId: ServiceId;
        versionSetName: string;
        headers?: operations['delete-service-version-set']['parameters']['header'];
    }): Promise<void>;
    /** Alias for getServices. */
    list(queryParams?: operations['get-services']['parameters']['query'], headers?: operations['get-services']['parameters']['header']): Promise<{
        services: components["schemas"]["ServiceInstance"][];
        has_more: boolean;
        continuation_token: number | null;
        filter_values: components["schemas"]["service__get_services__Response__FilterValues"] | null;
    }>;
    /** Alias for createService. */
    create(options: Parameters<ServiceResource['createService']>[0]): Promise<{
        id: string;
    }>;
}
