import { z } from 'zod';
import type { ServiceContext } from '../types';
export declare const schemas: {
    getCapabilities: z.ZodTuple<[z.ZodOptional<z.ZodNullable<z.ZodObject<{
        type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
        config: z.ZodOptional<z.ZodAny>;
        currentClientCapabilities: z.ZodOptional<z.ZodAny>;
        options: z.ZodOptional<z.ZodAny>;
    }, "strip", z.ZodTypeAny, {
        type: string;
        config?: any;
        currentClientCapabilities?: any;
        options?: any;
    }, {
        type?: string | undefined;
        config?: any;
        currentClientCapabilities?: any;
        options?: any;
    }>>>], null>;
    startGenerator: z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodAny>], null>;
    finalizeGenerator: z.ZodTuple<[z.ZodString], null>;
};
export interface Service {
    getCapabilities: (ctx: ServiceContext, ...args: z.infer<typeof schemas.getCapabilities>) => Promise<any>;
    startGenerator: (ctx: ServiceContext, ...args: z.infer<typeof schemas.startGenerator>) => Promise<any>;
    finalizeGenerator: (ctx: ServiceContext, ...args: z.infer<typeof schemas.finalizeGenerator>) => Promise<any>;
}
declare const _default: Service;
export default _default;
