import { Instrumentation } from '@synnaxlabs/alamos';
import { Synnax } from '@synnaxlabs/client';
import { z } from 'zod';
import { aether } from '../../aether/aether';
import { client } from '../client';
export type ProviderState = z.input<typeof providerStateZ>;
export declare const providerStateZ: z.ZodObject<{}, z.core.$strip>;
interface InternalState {
    instrumentation: Instrumentation;
}
export declare class BaseProvider extends aether.Composite<typeof providerStateZ, InternalState> {
    static readonly TYPE = "telem.Provider";
    static readonly stateZ: z.ZodObject<{}, z.core.$strip>;
    schema: z.ZodObject<{}, z.core.$strip>;
    prevCore: Synnax | null;
    client: client.Client | null;
    afterUpdate(ctx: aether.Context): void;
}
export declare const REGISTRY: aether.ComponentRegistry;
export {};
//# sourceMappingURL=provider.d.ts.map