import type { DefineComponent, PropType, Ref, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
import type { roleValidator, CurrentRow, UserInfo, Pattern, patternValidator, RemoteConfig, DetailApiFunctionType, PageButton, PageButtonPosition, pageButtonPositionValidator, RecordString, Expose,  ComputedFormFieldsItem } from './edit-page-layout-types';
declare const _sfc_main: DefineComponent<{
    showPageHeader: {
        type: PropType<boolean>;
        default: boolean;
    };
    showLayoutAnchor: {
        type: PropType<boolean>;
        default: boolean;
    };
    isDetail: {
        type: PropType<boolean>;
        default: boolean;
    };
    businessType: {
        type: StringConstructor;
        default: string;
    };
    role: {
        type: PropType<string>;
        default: string;
        validator: typeof roleValidator;
    };
    currentRow: {
        type: PropType<CurrentRow>;
        default(): {};
        require: boolean;
    };
    refreshMethods: {
        type: PropType<(row?: CurrentRow | undefined) => void>;
        default: null;
    };
    userInfo: {
        type: PropType<UserInfo>;
        default(): {};
    };
    token: {
        type: StringConstructor;
        default: string;
    };
    isUseLocalPattern: {
        type: PropType<boolean>;
        default: boolean;
    };
    pattern: {
        type: PropType<Pattern>;
        default: string;
        validator: typeof patternValidator;
    };
    localConfig: {
        type: PropType<Partial<RemoteConfig>>;
        default(): {};
    };
    handleAfterRemoteConfig: {
        type: PropType<(<T>(args: T) => T | Promise<T>)>;
        default: null;
    };
    detailApi: {
        type: PropType<string | DetailApiFunctionType>;
        default: string;
    };
    withoutIdDetailApi: {
        type: PropType<string>;
        default: string;
    };
    handleAfterDetailApiResponse: {
        type: PropType<(args: Expose) => void>;
        default: null;
    };
    pageButtons: {
        type: PropType<PageButton[]>;
        default: null;
    };
    pageButtonPosition: {
        type: PropType<PageButtonPosition>;
        default: string;
        validator: typeof pageButtonPositionValidator;
    };
    hasAdd: {
        type: PropType<boolean>;
        default: boolean;
    };
    isUseLocalData: {
        type: PropType<boolean>;
        default: boolean;
    };
    localData: {
        type: PropType<RecordString>;
        default(): {};
    };
    showBackIcon: {
        type: PropType<boolean>;
        default: boolean;
    };
    pageTitle: {
        type: StringConstructor;
        default: string;
    };
}, {
    instance: Ref<Expose | undefined>;
    classes: ComputedRef<{
        [key: string]: string | boolean;
    }>;
    handleSetInstance: (expose: Expose) => void;
    pattern: Ref<Pattern>;
    namedSlots: {
        patternPrepend: string;
        patternDefault: string;
        patternAppend: string;
    }[];
    computedCustomSlotFields: ComputedRef<ComputedFormFieldsItem[]>;
    handlePageBack: () => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    showPageHeader: {
        type: PropType<boolean>;
        default: boolean;
    };
    showLayoutAnchor: {
        type: PropType<boolean>;
        default: boolean;
    };
    isDetail: {
        type: PropType<boolean>;
        default: boolean;
    };
    businessType: {
        type: StringConstructor;
        default: string;
    };
    role: {
        type: PropType<string>;
        default: string;
        validator: typeof roleValidator;
    };
    currentRow: {
        type: PropType<CurrentRow>;
        default(): {};
        require: boolean;
    };
    refreshMethods: {
        type: PropType<(row?: CurrentRow | undefined) => void>;
        default: null;
    };
    userInfo: {
        type: PropType<UserInfo>;
        default(): {};
    };
    token: {
        type: StringConstructor;
        default: string;
    };
    isUseLocalPattern: {
        type: PropType<boolean>;
        default: boolean;
    };
    pattern: {
        type: PropType<Pattern>;
        default: string;
        validator: typeof patternValidator;
    };
    localConfig: {
        type: PropType<Partial<RemoteConfig>>;
        default(): {};
    };
    handleAfterRemoteConfig: {
        type: PropType<(<T>(args: T) => T | Promise<T>)>;
        default: null;
    };
    detailApi: {
        type: PropType<string | DetailApiFunctionType>;
        default: string;
    };
    withoutIdDetailApi: {
        type: PropType<string>;
        default: string;
    };
    handleAfterDetailApiResponse: {
        type: PropType<(args: Expose) => void>;
        default: null;
    };
    pageButtons: {
        type: PropType<PageButton[]>;
        default: null;
    };
    pageButtonPosition: {
        type: PropType<PageButtonPosition>;
        default: string;
        validator: typeof pageButtonPositionValidator;
    };
    hasAdd: {
        type: PropType<boolean>;
        default: boolean;
    };
    isUseLocalData: {
        type: PropType<boolean>;
        default: boolean;
    };
    localData: {
        type: PropType<RecordString>;
        default(): {};
    };
    showBackIcon: {
        type: PropType<boolean>;
        default: boolean;
    };
    pageTitle: {
        type: StringConstructor;
        default: string;
    };
}>>, {
    pattern: Pattern;
    currentRow: CurrentRow;
    businessType: string;
    token: string;
    userInfo: UserInfo;
    isUseLocalPattern: boolean;
    isDetail: boolean;
    showPageHeader: boolean;
    showLayoutAnchor: boolean;
    role: string;
    refreshMethods: (row?: CurrentRow | undefined) => void;
    localConfig: Partial<RemoteConfig>;
    handleAfterRemoteConfig: <T>(args: T) => T | Promise<T>;
    detailApi: string | DetailApiFunctionType;
    withoutIdDetailApi: string;
    handleAfterDetailApiResponse: (args: Expose) => void;
    pageButtons: PageButton[];
    pageButtonPosition: PageButtonPosition;
    hasAdd: boolean;
    isUseLocalData: boolean;
    localData: RecordString;
    showBackIcon: boolean;
    pageTitle: string;
}, {}>;
export default _sfc_main;
