import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { Ruid } from "../../common/ruid";
import { Value } from "../../common/value";
import { MediaMetadata } from "../../snapdoc/media";
import { SnapSource } from "../media/snap_source";
import { BillboardSignals } from "./billboard_provided_signals";
import { BoltSignals } from "./bolt_provided_signals";
import { CameraSignals } from "./camera_provided_signals";
import { CognacSignals } from "./cognac_provided_signals";
import { ContentManagerSignals } from "./content_manager_provided_signals";
import { CreativeToolsSignals } from "./creative_tools_provided_signals";
import { DiscoverFeedSignals } from "./discover_feed_provided_signals";
import { LensesSignals } from "./lenses_provided_signals";
import { MdpMediaAttribution } from "./mdp_media_attribution";
import { MediaSignals } from "./media_provided_signals";
import { Namespace } from "./namespace";
import { OperaSignals } from "./opera_provided_signals";
import { PerceptionSignals } from "./perception_provided_signals";
import { RecipientsSignals } from "./recipients_provided_signals";
import { RoutingSignals } from "./routing_provided_signals";
import { SnapKitSignals } from "./snap_kit_provided_signals";
import { UploadSignals } from "./upload_provided_signals";
export declare const protobufPackage = "snapchat.cdp.cof";
export interface FeatureProvidedSignals {
    mediaMetadata: MediaMetadata | undefined;
    storyMetadata: FeatureProvidedSignals_StoryMetadata | undefined;
    cameraSignals: CameraSignals | undefined;
    snapSource: SnapSource;
    contentManagerProvidedSignals: ContentManagerSignals | undefined;
    spectacleMetadata: FeatureProvidedSignals_SpectacleMetadata | undefined;
    boltSignals: BoltSignals | undefined;
    lensesSignals: LensesSignals | undefined;
    creativeToolsSignals: CreativeToolsSignals | undefined;
    estimatedDurationForEventMs: number;
    routingSignals: RoutingSignals | undefined;
    mdpMediaAttribution: MdpMediaAttribution | undefined;
    size: number;
    mediaSignals: MediaSignals | undefined;
    perceptionSignals: PerceptionSignals | undefined;
    operaSignals: OperaSignals | undefined;
    recipientsSignals: RecipientsSignals | undefined;
    billboardSignals: BillboardSignals | undefined;
    cognacSignals: CognacSignals | undefined;
    hashSignals: FeatureProvidedSignals_HashSignals | undefined;
    edgeSignals: {
        [key: number]: Value;
    };
    snapKitSignals: SnapKitSignals | undefined;
    uploadSignals: UploadSignals | undefined;
    ruids: Ruid[];
    discoverFeedSignals: DiscoverFeedSignals | undefined;
}
export declare enum FeatureProvidedSignals_StoryType {
    UNKNOWN_STORY_TYPE = 0,
    PUBLIC_USER_STORY = 1,
    OUR_STORY = 2,
    PUBLISHER_STORY = 3,
    FRIEND_STORY = 4,
    UNRECOGNIZED = -1
}
export declare enum FeatureProvidedSignals_SpectaclesVersion {
    UNKNOWN_SPECTACLES_VERSION = 0,
    V1 = 1,
    V2 = 2,
    V3 = 3,
    V4 = 4,
    UNRECOGNIZED = -1
}
export interface FeatureProvidedSignals_StoryMetadata {
    isPublicStory: boolean;
    isOfficialStory: boolean;
    storyType: FeatureProvidedSignals_StoryType;
}
export interface FeatureProvidedSignals_SpectacleMetadata {
    isSpectacle: boolean;
    spectaclesVersion: FeatureProvidedSignals_SpectaclesVersion;
}
export interface FeatureProvidedSignals_HashSignals {
    userId: Uint8Array;
    seed: Uint8Array;
    namespace: Namespace;
}
export interface FeatureProvidedSignals_EdgeSignalsEntry {
    key: number;
    value: Value | undefined;
}
export declare const FeatureProvidedSignals: MessageFns<FeatureProvidedSignals>;
export declare const FeatureProvidedSignals_StoryMetadata: MessageFns<FeatureProvidedSignals_StoryMetadata>;
export declare const FeatureProvidedSignals_SpectacleMetadata: MessageFns<FeatureProvidedSignals_SpectacleMetadata>;
export declare const FeatureProvidedSignals_HashSignals: MessageFns<FeatureProvidedSignals_HashSignals>;
export declare const FeatureProvidedSignals_EdgeSignalsEntry: MessageFns<FeatureProvidedSignals_EdgeSignalsEntry>;
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.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]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export interface MessageFns<T> {
    encode(message: T, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): T;
    create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
    fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
export {};
//# sourceMappingURL=feature_provided_signals.d.ts.map