import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@kubernetes-models/base";
/**
 * Parser is the Schema for namespace level parser API
 */
export interface IParser {
    /**
     * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
     */
    "apiVersion": "fluentbit.fluent.io/v1alpha2";
    /**
     * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
     */
    "kind": "Parser";
    "metadata"?: IObjectMeta;
    /**
     * ParserSpec defines the desired state of ClusterParser
     */
    "spec"?: {
        /**
         * Decoders are a built-in feature available through the Parsers file, each Parser definition can optionally set one or multiple decoders. There are two type of decoders type: Decode_Field and Decode_Field_As.
         */
        "decoders"?: Array<{
            /**
             * If the content can be decoded in a structured message, append that structure message (keys and values) to the original log message.
             */
            "decodeField"?: string;
            /**
             * Any content decoded (unstructured or structured) will be replaced in the same key/value, no extra keys are added.
             */
            "decodeFieldAs"?: string;
        }>;
        /**
         * JSON defines json parser configuration.
         */
        "json"?: {
            /**
             * Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
             */
            "timeFormat"?: string;
            /**
             * Time_Keep
             */
            "timeKeep"?: boolean;
            /**
             * Time_Key
             */
            "timeKey"?: string;
        };
        /**
         * Logfmt defines logfmt parser configuration.
         */
        "logfmt"?: {};
        /**
         * LTSV defines ltsv parser configuration.
         */
        "ltsv"?: {
            /**
             * Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
             */
            "timeFormat"?: string;
            /**
             * Time_Keep
             */
            "timeKeep"?: boolean;
            /**
             * Time_Key
             */
            "timeKey"?: string;
            "types"?: string;
        };
        /**
         * Regex defines regex parser configuration.
         */
        "regex"?: {
            "regex"?: string;
            /**
             * Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
             */
            "timeFormat"?: string;
            /**
             * Time_Keep
             */
            "timeKeep"?: boolean;
            /**
             * Time_Key
             */
            "timeKey"?: string;
            /**
             * Time_Offset, eg. +0200
             */
            "timeOffset"?: string;
            "types"?: string;
        };
    };
}
/**
 * Parser is the Schema for namespace level parser API
 */
export declare class Parser extends Model<IParser> implements IParser {
    "apiVersion": IParser["apiVersion"];
    "kind": IParser["kind"];
    "metadata"?: IParser["metadata"];
    "spec"?: IParser["spec"];
    static apiVersion: IParser["apiVersion"];
    static kind: IParser["kind"];
    static is: import("@kubernetes-models/base").TypeMetaGuard<IParser>;
    constructor(data?: ModelData<IParser>);
}
