import _m0 from "protobufjs/minimal";
import { Any } from "../google/protobuf/any";
export declare const protobufPackage = "snapchat.common";
export interface MapRecord {
    key: string;
    value: string;
}
export interface MapRecords {
    records: MapRecord[];
}
export interface StringArray {
    value: string[];
}
export interface Value {
    intValue: number | undefined;
    longValue: string | undefined;
    floatValue: number | undefined;
    doubleValue: number | undefined;
    boolValue: boolean | undefined;
    stringValue: string | undefined;
    anyValue: Any | undefined;
    mapValue: MapRecords | undefined;
    intPairValue: string | undefined;
    stringArrayValue: StringArray | undefined;
}
export declare const MapRecord: {
    encode(message: MapRecord, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MapRecord;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof MapRecord>, never>>(object: I): MapRecord;
};
export declare const MapRecords: {
    encode(message: MapRecords, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MapRecords;
    fromPartial<I extends {
        records?: {
            key?: string | undefined;
            value?: string | undefined;
        }[] | undefined;
    } & {
        records?: ({
            key?: string | undefined;
            value?: string | undefined;
        }[] & ({
            key?: string | undefined;
            value?: string | undefined;
        } & {
            key?: string | undefined;
            value?: string | undefined;
        } & Record<Exclude<keyof I["records"][number], keyof MapRecord>, never>)[] & Record<Exclude<keyof I["records"], keyof {
            key?: string | undefined;
            value?: string | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "records">, never>>(object: I): MapRecords;
};
export declare const StringArray: {
    encode(message: StringArray, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StringArray;
    fromPartial<I extends {
        value?: string[] | undefined;
    } & {
        value?: (string[] & string[] & Record<Exclude<keyof I["value"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "value">, never>>(object: I): StringArray;
};
export declare const Value: {
    encode(message: Value, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Value;
    fromPartial<I extends {
        intValue?: number | undefined;
        longValue?: string | undefined;
        floatValue?: number | undefined;
        doubleValue?: number | undefined;
        boolValue?: boolean | undefined;
        stringValue?: string | undefined;
        anyValue?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        mapValue?: {
            records?: {
                key?: string | undefined;
                value?: string | undefined;
            }[] | undefined;
        } | undefined;
        intPairValue?: string | undefined;
        stringArrayValue?: {
            value?: string[] | undefined;
        } | undefined;
    } & {
        intValue?: number | undefined;
        longValue?: string | undefined;
        floatValue?: number | undefined;
        doubleValue?: number | undefined;
        boolValue?: boolean | undefined;
        stringValue?: string | undefined;
        anyValue?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & Record<Exclude<keyof I["anyValue"], keyof Any>, never>) | undefined;
        mapValue?: ({
            records?: {
                key?: string | undefined;
                value?: string | undefined;
            }[] | undefined;
        } & {
            records?: ({
                key?: string | undefined;
                value?: string | undefined;
            }[] & ({
                key?: string | undefined;
                value?: string | undefined;
            } & {
                key?: string | undefined;
                value?: string | undefined;
            } & Record<Exclude<keyof I["mapValue"]["records"][number], keyof MapRecord>, never>)[] & Record<Exclude<keyof I["mapValue"]["records"], keyof {
                key?: string | undefined;
                value?: string | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["mapValue"], "records">, never>) | undefined;
        intPairValue?: string | undefined;
        stringArrayValue?: ({
            value?: string[] | undefined;
        } & {
            value?: (string[] & string[] & Record<Exclude<keyof I["stringArrayValue"]["value"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["stringArrayValue"], "value">, never>) | undefined;
    } & Record<Exclude<keyof I, keyof Value>, never>>(object: I): Value;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
//# sourceMappingURL=value.d.ts.map