import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { CreateIntegrationStoreDirectNotification, CreateIntegrationStoreDirectProtocolSettings, Product } from "./createintegrationstoredirectnotification.js";
import { Capabilities, CreateIntegrationStoreDirectIntegrationsMetadata, CreateIntegrationStoreDirectOwnership, CreateIntegrationStoreDirectProjectsMetadata, CreateIntegrationStoreDirectStatus, ExternalResourceStatus, ProjectFilter } from "./createintegrationstoredirectpropertiesintegrationsresponse200applicationjsonresponsebodystoreproductmetadataschema7type.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type CreateIntegrationStoreDirectSecrets = {
    name: string;
    length: number;
    frameworkPublishable?: boolean | undefined;
};
export declare const CreateIntegrationStoreDirectType: {
    readonly Prepayment: "prepayment";
    readonly Subscription: "subscription";
};
export type CreateIntegrationStoreDirectType = ClosedEnum<typeof CreateIntegrationStoreDirectType>;
export declare const CreateIntegrationStoreDirectScope: {
    readonly Installation: "installation";
    readonly Resource: "resource";
};
export type CreateIntegrationStoreDirectScope = ClosedEnum<typeof CreateIntegrationStoreDirectScope>;
export type CreateIntegrationStoreDirectDetails = {
    label: string;
    value?: string | undefined;
};
export type CreateIntegrationStoreDirectHighlightedDetails = {
    label: string;
    value?: string | undefined;
};
export type CreateIntegrationStoreDirectQuote = {
    line: string;
    amount: string;
};
export type CreateIntegrationStoreDirectBillingPlan = {
    type: CreateIntegrationStoreDirectType;
    description: string;
    id: string;
    name: string;
    scope: CreateIntegrationStoreDirectScope;
    paymentMethodRequired: boolean;
    preauthorizationAmount?: number | undefined;
    initialCharge?: string | undefined;
    minimumAmount?: string | undefined;
    maximumAmount?: string | undefined;
    maximumAmountAutoPurchasePerPeriod?: string | undefined;
    cost?: string | undefined;
    details?: Array<CreateIntegrationStoreDirectDetails> | undefined;
    highlightedDetails?: Array<CreateIntegrationStoreDirectHighlightedDetails> | undefined;
    quote?: Array<CreateIntegrationStoreDirectQuote> | undefined;
    effectiveDate?: string | undefined;
    disabled?: boolean | undefined;
};
/**
 * The deployment targets that this resource is available for.
 */
export declare const CreateIntegrationStoreDirectTargets: {
    readonly Development: "development";
    readonly Preview: "preview";
    readonly Production: "production";
};
/**
 * The deployment targets that this resource is available for.
 */
export type CreateIntegrationStoreDirectTargets = ClosedEnum<typeof CreateIntegrationStoreDirectTargets>;
export type CreateIntegrationStoreDirectStore = {
    projectsMetadata: Array<CreateIntegrationStoreDirectProjectsMetadata>;
    projectFilter?: ProjectFilter | undefined;
    totalConnectedProjects?: number | undefined;
    usageQuotaExceeded: boolean;
    status: CreateIntegrationStoreDirectStatus | null;
    ownership?: CreateIntegrationStoreDirectOwnership | undefined;
    capabilities?: Capabilities | undefined;
    metadata?: {
        [k: string]: CreateIntegrationStoreDirectIntegrationsMetadata;
    } | undefined;
    externalResourceId: string;
    externalResourceStatus?: ExternalResourceStatus | null | undefined;
    directPartnerConsoleUrl?: string | undefined;
    product: Product;
    protocolSettings?: CreateIntegrationStoreDirectProtocolSettings | undefined;
    notification?: CreateIntegrationStoreDirectNotification | undefined;
    secrets: Array<CreateIntegrationStoreDirectSecrets>;
    billingPlan?: CreateIntegrationStoreDirectBillingPlan | undefined;
    /**
     * The timestamp when secret rotation was requested.
     */
    secretRotationRequestedAt?: number | undefined;
    /**
     * The reason for the secret rotation request.
     */
    secretRotationRequestedReason?: string | undefined;
    /**
     * The ID of the user/team who requested the secret rotation.
     */
    secretRotationRequestedBy?: string | undefined;
    /**
     * The timestamp when secret rotation was completed.
     */
    secretRotationCompletedAt?: number | undefined;
    /**
     * The ID of the parent resource. Used to establish a parent-child relationship between resources, such as sandbox resources linking to their owner account resource.
     */
    parentId?: string | undefined;
    /**
     * The deployment targets that this resource is available for.
     */
    targets?: Array<CreateIntegrationStoreDirectTargets> | undefined;
};
export type CreateIntegrationStoreDirectResponseBody = {
    store: CreateIntegrationStoreDirectStore | null;
};
/** @internal */
export declare const CreateIntegrationStoreDirectSecrets$inboundSchema: z.ZodType<CreateIntegrationStoreDirectSecrets, z.ZodTypeDef, unknown>;
export declare function createIntegrationStoreDirectSecretsFromJSON(jsonString: string): SafeParseResult<CreateIntegrationStoreDirectSecrets, SDKValidationError>;
/** @internal */
export declare const CreateIntegrationStoreDirectType$inboundSchema: z.ZodNativeEnum<typeof CreateIntegrationStoreDirectType>;
/** @internal */
export declare const CreateIntegrationStoreDirectScope$inboundSchema: z.ZodNativeEnum<typeof CreateIntegrationStoreDirectScope>;
/** @internal */
export declare const CreateIntegrationStoreDirectDetails$inboundSchema: z.ZodType<CreateIntegrationStoreDirectDetails, z.ZodTypeDef, unknown>;
export declare function createIntegrationStoreDirectDetailsFromJSON(jsonString: string): SafeParseResult<CreateIntegrationStoreDirectDetails, SDKValidationError>;
/** @internal */
export declare const CreateIntegrationStoreDirectHighlightedDetails$inboundSchema: z.ZodType<CreateIntegrationStoreDirectHighlightedDetails, z.ZodTypeDef, unknown>;
export declare function createIntegrationStoreDirectHighlightedDetailsFromJSON(jsonString: string): SafeParseResult<CreateIntegrationStoreDirectHighlightedDetails, SDKValidationError>;
/** @internal */
export declare const CreateIntegrationStoreDirectQuote$inboundSchema: z.ZodType<CreateIntegrationStoreDirectQuote, z.ZodTypeDef, unknown>;
export declare function createIntegrationStoreDirectQuoteFromJSON(jsonString: string): SafeParseResult<CreateIntegrationStoreDirectQuote, SDKValidationError>;
/** @internal */
export declare const CreateIntegrationStoreDirectBillingPlan$inboundSchema: z.ZodType<CreateIntegrationStoreDirectBillingPlan, z.ZodTypeDef, unknown>;
export declare function createIntegrationStoreDirectBillingPlanFromJSON(jsonString: string): SafeParseResult<CreateIntegrationStoreDirectBillingPlan, SDKValidationError>;
/** @internal */
export declare const CreateIntegrationStoreDirectTargets$inboundSchema: z.ZodNativeEnum<typeof CreateIntegrationStoreDirectTargets>;
/** @internal */
export declare const CreateIntegrationStoreDirectStore$inboundSchema: z.ZodType<CreateIntegrationStoreDirectStore, z.ZodTypeDef, unknown>;
export declare function createIntegrationStoreDirectStoreFromJSON(jsonString: string): SafeParseResult<CreateIntegrationStoreDirectStore, SDKValidationError>;
/** @internal */
export declare const CreateIntegrationStoreDirectResponseBody$inboundSchema: z.ZodType<CreateIntegrationStoreDirectResponseBody, z.ZodTypeDef, unknown>;
export declare function createIntegrationStoreDirectResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateIntegrationStoreDirectResponseBody, SDKValidationError>;
//# sourceMappingURL=createintegrationstoredirectresponsebody.d.ts.map