import * as pulumi from '@pulumi/pulumi';
export type Panel = {
    title: string;
    gridPos: Panel.Position;
    type: string;
    datasource: string;
    targets: Target[];
    fieldConfig: {
        defaults: {
            unit?: string;
            min?: number;
            max?: number;
            color?: {
                mode: string;
            };
            thresholds?: {
                mode: string;
                steps: Threshold[];
            };
            custom?: {
                lineInterpolation?: string;
                spanNulls: boolean;
            };
        };
        overrides?: Override[];
    };
    transformations?: Transformation[];
    options?: {
        colorMode?: string;
        graphMode?: string;
        justifyMode?: string;
        textMode?: string;
        reduceOptions?: {
            calcs?: string[];
            fields?: string;
            values?: boolean;
        };
    };
};
export declare namespace Panel {
    type Position = {
        x: number;
        y: number;
        w: number;
        h: number;
    };
}
export type Metric = {
    label: string;
    query: string;
    thresholds: Threshold[];
};
export type Threshold = {
    value: number | null;
    color: string;
};
export type Target = {
    expr?: string;
    expression?: string;
    legendFormat?: string;
    logGroups?: {
        name: pulumi.Input<string>;
    }[];
    queryMode?: string;
    queryType?: string;
    query?: string;
};
export type Override = {
    matcher: {
        id: string;
        options: string;
    };
    properties: {
        id: string;
        value: boolean | {
            title: string;
            url: string;
        }[] | {
            type: string;
        };
    }[];
};
export type Transformation = {
    id: 'organize';
    options: {
        renameByName?: Record<string, string>;
        excludeByName?: Record<string, boolean>;
        indexByName?: Record<string, number>;
    };
} | {
    id: 'sortBy';
    options: {
        sort: {
            field: string;
            desc: boolean;
        }[];
    };
};
//# sourceMappingURL=types.d.ts.map