import { alamos } from '@synnaxlabs/alamos';
import { z } from 'zod';
import { aether } from '../../aether/aether';
export declare const providerStateZ: z.ZodObject<{
    include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["debug", "info", "warn", "error"]>>>;
}, "strip", z.ZodTypeAny, {
    level: "error" | "info" | "debug" | "warn";
    exclude?: string[] | undefined;
    include?: string[] | undefined;
}, {
    level?: "error" | "info" | "debug" | "warn" | undefined;
    exclude?: string[] | undefined;
    include?: string[] | undefined;
}>;
export type ProviderState = z.input<typeof providerStateZ>;
export interface InternalState {
    ins: alamos.Instrumentation;
}
export declare class Provider extends aether.Composite<typeof providerStateZ, InternalState> {
    static readonly TYPE = "AlamosProvider";
    schema: z.ZodObject<{
        include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["debug", "info", "warn", "error"]>>>;
    }, "strip", z.ZodTypeAny, {
        level: "error" | "info" | "debug" | "warn";
        exclude?: string[] | undefined;
        include?: string[] | undefined;
    }, {
        level?: "error" | "info" | "debug" | "warn" | undefined;
        exclude?: string[] | undefined;
        include?: string[] | undefined;
    }>;
    afterUpdate(): Promise<void>;
}
export declare const useInstrumentation: (ctx: aether.Context, name?: string) => alamos.Instrumentation;
export declare const REGISTRY: aether.ComponentRegistry;
//# sourceMappingURL=alamos.d.ts.map