import * as z from "zod/v3";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type CreateEdgeConfigRequestBody = {
    slug: string;
    items?: {
        [k: string]: any;
    } | undefined;
};
export type CreateEdgeConfigRequest = {
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
    requestBody: CreateEdgeConfigRequestBody;
};
export type Purpose2 = {
    type: "experimentation";
    resourceId: string;
};
export type Purpose1 = {
    type: "flags";
    projectId: string;
};
export type CreateEdgeConfigPurpose = Purpose1 | Purpose2;
/**
 * Keeps track of the current state of the Edge Config while it gets transferred.
 */
export type CreateEdgeConfigTransfer = {
    fromAccountId: string;
    startedAt: number;
    doneAt: number | null;
};
export type CreateEdgeConfigSchema = {};
/**
 * An Edge Config
 */
export type CreateEdgeConfigResponseBody = {
    id: string;
    createdAt: number;
    /**
     * The ID of the user who created the Edge Config, optional because it is not always set.
     */
    createdBy?: string | undefined;
    ownerId: string;
    /**
     * Name for the Edge Config Names are not unique. Must start with an alphabetic character and can contain only alphanumeric characters and underscores).
     */
    slug: string;
    updatedAt: number;
    digest: string;
    purpose?: Purpose1 | Purpose2 | undefined;
    deletedAt?: number | null | undefined;
    /**
     * Keeps track of the current state of the Edge Config while it gets transferred.
     */
    transfer?: CreateEdgeConfigTransfer | undefined;
    schema?: CreateEdgeConfigSchema | undefined;
    /**
     * Timestamp of when the Edge Config was synced to DynamoDB initially. It is only set when syncing the entire Edge Config, not when updating.
     */
    syncedToDynamoAt?: number | undefined;
    sizeInBytes: number;
    itemCount: number;
};
/** @internal */
export type CreateEdgeConfigRequestBody$Outbound = {
    slug: string;
    items?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const CreateEdgeConfigRequestBody$outboundSchema: z.ZodType<CreateEdgeConfigRequestBody$Outbound, z.ZodTypeDef, CreateEdgeConfigRequestBody>;
export declare function createEdgeConfigRequestBodyToJSON(createEdgeConfigRequestBody: CreateEdgeConfigRequestBody): string;
/** @internal */
export type CreateEdgeConfigRequest$Outbound = {
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody: CreateEdgeConfigRequestBody$Outbound;
};
/** @internal */
export declare const CreateEdgeConfigRequest$outboundSchema: z.ZodType<CreateEdgeConfigRequest$Outbound, z.ZodTypeDef, CreateEdgeConfigRequest>;
export declare function createEdgeConfigRequestToJSON(createEdgeConfigRequest: CreateEdgeConfigRequest): string;
/** @internal */
export declare const Purpose2$inboundSchema: z.ZodType<Purpose2, z.ZodTypeDef, unknown>;
export declare function purpose2FromJSON(jsonString: string): SafeParseResult<Purpose2, SDKValidationError>;
/** @internal */
export declare const Purpose1$inboundSchema: z.ZodType<Purpose1, z.ZodTypeDef, unknown>;
export declare function purpose1FromJSON(jsonString: string): SafeParseResult<Purpose1, SDKValidationError>;
/** @internal */
export declare const CreateEdgeConfigPurpose$inboundSchema: z.ZodType<CreateEdgeConfigPurpose, z.ZodTypeDef, unknown>;
export declare function createEdgeConfigPurposeFromJSON(jsonString: string): SafeParseResult<CreateEdgeConfigPurpose, SDKValidationError>;
/** @internal */
export declare const CreateEdgeConfigTransfer$inboundSchema: z.ZodType<CreateEdgeConfigTransfer, z.ZodTypeDef, unknown>;
export declare function createEdgeConfigTransferFromJSON(jsonString: string): SafeParseResult<CreateEdgeConfigTransfer, SDKValidationError>;
/** @internal */
export declare const CreateEdgeConfigSchema$inboundSchema: z.ZodType<CreateEdgeConfigSchema, z.ZodTypeDef, unknown>;
export declare function createEdgeConfigSchemaFromJSON(jsonString: string): SafeParseResult<CreateEdgeConfigSchema, SDKValidationError>;
/** @internal */
export declare const CreateEdgeConfigResponseBody$inboundSchema: z.ZodType<CreateEdgeConfigResponseBody, z.ZodTypeDef, unknown>;
export declare function createEdgeConfigResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateEdgeConfigResponseBody, SDKValidationError>;
//# sourceMappingURL=createedgeconfigop.d.ts.map